From fce90ee90cd4cfd5ea8c8651afc0896b79b8a274 Mon Sep 17 00:00:00 2001 From: Ludovic Muller Date: Tue, 27 Jan 2026 11:13:09 +0100 Subject: [PATCH 1/6] feat(otel): base configuration --- app/graphql/query-hooks.ts | 781 +- app/graphql/resolver-types.ts | 734 +- app/instrumentation.node.ts | 16 + app/instrumentation.ts | 5 + app/next.config.js | 4 + app/package.json | 6 + app/public/json-schema/chart-config.json | 5233 +++-- .../json-schema/configurator-state.json | 18166 +++++++++++----- app/tracer.ts | 3 + yarn.lock | 610 +- 10 files changed, 16955 insertions(+), 8603 deletions(-) create mode 100644 app/instrumentation.node.ts create mode 100644 app/instrumentation.ts create mode 100644 app/tracer.ts diff --git a/app/graphql/query-hooks.ts b/app/graphql/query-hooks.ts index 7beec44e3b..3f1211af44 100644 --- a/app/graphql/query-hooks.ts +++ b/app/graphql/query-hooks.ts @@ -1,30 +1,24 @@ -import { ComponentTermsets } from "../domain/data"; -import { DataCubeComponents } from "../domain/data"; -import { DataCubeMetadata } from "../domain/data"; -import { DataCubeObservations } from "../domain/data"; -import { DataCubePreview } from "../domain/data"; -import { DataSourceUrl } from "../domain/data-source"; -import { DimensionValue } from "../domain/data"; -import { Filters } from "../configurator"; -import { GeoShapes } from "../domain/data"; -import { HierarchyValue } from "../domain/data"; -import { Observation } from "../domain/data"; -import { RawObservation } from "../domain/data"; -import { SearchCube } from "../domain/data"; -import { SingleFilters } from "../configurator"; -import { Termset } from "../domain/data"; -import gql from "graphql-tag"; -import * as Urql from "urql"; +import { ComponentTermsets } from '../domain/data'; +import { DataCubeComponents } from '../domain/data'; +import { DataCubeMetadata } from '../domain/data'; +import { DataCubeObservations } from '../domain/data'; +import { DataCubePreview } from '../domain/data'; +import { DataSourceUrl } from '../domain/data-source'; +import { DimensionValue } from '../domain/data'; +import { Filters } from '../configurator'; +import { GeoShapes } from '../domain/data'; +import { HierarchyValue } from '../domain/data'; +import { Observation } from '../domain/data'; +import { RawObservation } from '../domain/data'; +import { SearchCube } from '../domain/data'; +import { SingleFilters } from '../configurator'; +import { Termset } from '../domain/data'; +import gql from 'graphql-tag'; +import * as Urql from 'urql'; export type Maybe = T | null; -export type Exact = { - [K in keyof T]: T[K]; -}; -export type MakeOptional = Omit & { - [SubKey in K]?: Maybe; -}; -export type MakeMaybe = Omit & { - [SubKey in K]: Maybe; -}; +export type Exact = { [K in keyof T]: T[K] }; +export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; +export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; export type Omit = Pick>; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { @@ -53,619 +47,500 @@ export type Scalars = { ValuePosition: any; }; + + export type DataCubeComponentFilter = { - iri: Scalars["String"]; - filters?: Maybe; - componentIds?: Maybe>; - joinBy?: Maybe>; - loadValues?: Maybe; + iri: Scalars['String']; + filters?: Maybe; + componentIds?: Maybe>; + joinBy?: Maybe>; + loadValues?: Maybe; }; + export type DataCubeDimensionGeoShapesCubeFilter = { - iri: Scalars["String"]; - dimensionId: Scalars["String"]; + iri: Scalars['String']; + dimensionId: Scalars['String']; }; export type DataCubeLatestIriFilter = { - iri: Scalars["String"]; + iri: Scalars['String']; }; + export type DataCubeMetadataFilter = { - iri: Scalars["String"]; + iri: Scalars['String']; }; export type DataCubeObservationFilter = { - iri: Scalars["String"]; - filters?: Maybe; - componentIds?: Maybe>; - joinBy?: Maybe>; + iri: Scalars['String']; + filters?: Maybe; + componentIds?: Maybe>; + joinBy?: Maybe>; }; + export type DataCubeOrganization = { - __typename: "DataCubeOrganization"; - iri: Scalars["String"]; - label?: Maybe; + __typename: 'DataCubeOrganization'; + iri: Scalars['String']; + label?: Maybe; }; export type DataCubePossibleFiltersCubeFilter = { - iri: Scalars["String"]; - filters: Scalars["SingleFilters"]; + iri: Scalars['String']; + filters: Scalars['SingleFilters']; }; + export type DataCubePreviewFilter = { - iri: Scalars["String"]; + iri: Scalars['String']; }; export enum DataCubePublicationStatus { - Draft = "DRAFT", - Published = "PUBLISHED", + Draft = 'DRAFT', + Published = 'PUBLISHED' } export type DataCubeTermset = { - __typename: "DataCubeTermset"; - iri: Scalars["String"]; - label?: Maybe; + __typename: 'DataCubeTermset'; + iri: Scalars['String']; + label?: Maybe; }; export type DataCubeTermsetFilter = { - iri: Scalars["String"]; + iri: Scalars['String']; }; export type DataCubeTheme = { - __typename: "DataCubeTheme"; - iri: Scalars["String"]; - label?: Maybe; + __typename: 'DataCubeTheme'; + iri: Scalars['String']; + label?: Maybe; }; export type DataCubeUnversionedIriFilter = { - iri: Scalars["String"]; + iri: Scalars['String']; }; + + + + + + + export type PossibleFilterValue = { - __typename: "PossibleFilterValue"; - type: Scalars["String"]; - id: Scalars["String"]; - value?: Maybe; + __typename: 'PossibleFilterValue'; + type: Scalars['String']; + id: Scalars['String']; + value?: Maybe; }; export type Query = { - __typename: "Query"; - dataCubeLatestIri: Scalars["String"]; - dataCubeUnversionedIri?: Maybe; - dataCubeComponents: Scalars["DataCubeComponents"]; - dataCubeComponentTermsets: Array; - dataCubeMetadata: Scalars["DataCubeMetadata"]; - dataCubeObservations: Scalars["DataCubeObservations"]; - dataCubePreview: Scalars["DataCubePreview"]; + __typename: 'Query'; + dataCubeLatestIri: Scalars['String']; + dataCubeUnversionedIri?: Maybe; + dataCubeComponents: Scalars['DataCubeComponents']; + dataCubeComponentTermsets: Array; + dataCubeMetadata: Scalars['DataCubeMetadata']; + dataCubeObservations: Scalars['DataCubeObservations']; + dataCubePreview: Scalars['DataCubePreview']; possibleFilters: Array; searchCubes: Array; - dataCubeDimensionGeoShapes?: Maybe; + dataCubeDimensionGeoShapes?: Maybe; }; + export type QueryDataCubeLatestIriArgs = { - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; cubeFilter: DataCubeLatestIriFilter; }; + export type QueryDataCubeUnversionedIriArgs = { - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; cubeFilter: DataCubeUnversionedIriFilter; }; + export type QueryDataCubeComponentsArgs = { - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale: Scalars["String"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale: Scalars['String']; cubeFilter: DataCubeComponentFilter; }; + export type QueryDataCubeComponentTermsetsArgs = { - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale: Scalars["String"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale: Scalars['String']; cubeFilter: DataCubeTermsetFilter; }; + export type QueryDataCubeMetadataArgs = { - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale: Scalars["String"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale: Scalars['String']; cubeFilter: DataCubeMetadataFilter; }; + export type QueryDataCubeObservationsArgs = { - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale: Scalars["String"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale: Scalars['String']; cubeFilter: DataCubeObservationFilter; }; + export type QueryDataCubePreviewArgs = { - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale: Scalars["String"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale: Scalars['String']; cubeFilter: DataCubePreviewFilter; }; + export type QueryPossibleFiltersArgs = { - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; cubeFilter: DataCubePossibleFiltersCubeFilter; }; + export type QuerySearchCubesArgs = { - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale?: Maybe; - query?: Maybe; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale?: Maybe; + query?: Maybe; order?: Maybe; - includeDrafts?: Maybe; - fetchDimensionTermsets?: Maybe; + includeDrafts?: Maybe; + fetchDimensionTermsets?: Maybe; filters?: Maybe>; }; + export type QueryDataCubeDimensionGeoShapesArgs = { - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale: Scalars["String"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale: Scalars['String']; cubeFilter: DataCubeDimensionGeoShapesCubeFilter; }; + export type RelatedDimension = { - __typename: "RelatedDimension"; + __typename: 'RelatedDimension'; type: RelatedDimensionType; - id: Scalars["String"]; + id: Scalars['String']; }; export enum RelatedDimensionType { - StandardError = "StandardError", - ConfidenceUpperBound = "ConfidenceUpperBound", - ConfidenceLowerBound = "ConfidenceLowerBound", + StandardError = 'StandardError', + ConfidenceUpperBound = 'ConfidenceUpperBound', + ConfidenceLowerBound = 'ConfidenceLowerBound' } export enum ScaleType { - Ordinal = "Ordinal", - Nominal = "Nominal", - Interval = "Interval", - Ratio = "Ratio", + Ordinal = 'Ordinal', + Nominal = 'Nominal', + Interval = 'Interval', + Ratio = 'Ratio' } + export type SearchCubeFilter = { type: SearchCubeFilterType; - label?: Maybe; - value: Scalars["String"]; + label?: Maybe; + value: Scalars['String']; }; export enum SearchCubeFilterType { - TemporalDimension = "TemporalDimension", - DataCubeTheme = "DataCubeTheme", - DataCubeOrganization = "DataCubeOrganization", - DataCubeAbout = "DataCubeAbout", - DataCubeTermset = "DataCubeTermset", + TemporalDimension = 'TemporalDimension', + DataCubeTheme = 'DataCubeTheme', + DataCubeOrganization = 'DataCubeOrganization', + DataCubeAbout = 'DataCubeAbout', + DataCubeTermset = 'DataCubeTermset' } export type SearchCubeResult = { - __typename: "SearchCubeResult"; - score?: Maybe; - cube: Scalars["SearchCube"]; - highlightedTitle?: Maybe; - highlightedDescription?: Maybe; + __typename: 'SearchCubeResult'; + score?: Maybe; + cube: Scalars['SearchCube']; + highlightedTitle?: Maybe; + highlightedDescription?: Maybe; }; export enum SearchCubeResultOrder { - Score = "SCORE", - TitleAsc = "TITLE_ASC", - CreatedDesc = "CREATED_DESC", + Score = 'SCORE', + TitleAsc = 'TITLE_ASC', + CreatedDesc = 'CREATED_DESC' } + + export enum TimeUnit { - Year = "Year", - Month = "Month", - Week = "Week", - Day = "Day", - Hour = "Hour", - Minute = "Minute", - Second = "Second", + Year = 'Year', + Month = 'Month', + Week = 'Week', + Day = 'Day', + Hour = 'Hour', + Minute = 'Minute', + Second = 'Second' } + + export type SearchCubesQueryVariables = Exact<{ - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale: Scalars["String"]; - query?: Maybe; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale: Scalars['String']; + query?: Maybe; order?: Maybe; - includeDrafts?: Maybe; - fetchDimensionTermsets?: Maybe; + includeDrafts?: Maybe; + fetchDimensionTermsets?: Maybe; filters?: Maybe | SearchCubeFilter>; }>; -export type SearchCubesQuery = { - __typename: "Query"; - searchCubes: Array<{ - __typename: "SearchCubeResult"; - highlightedTitle?: Maybe; - highlightedDescription?: Maybe; - cube: SearchCube; - }>; -}; + +export type SearchCubesQuery = { __typename: 'Query', searchCubes: Array<{ __typename: 'SearchCubeResult', highlightedTitle?: Maybe, highlightedDescription?: Maybe, cube: SearchCube }> }; export type DataCubeLatestIriQueryVariables = Exact<{ - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; cubeFilter: DataCubeLatestIriFilter; }>; -export type DataCubeLatestIriQuery = { - __typename: "Query"; - dataCubeLatestIri: string; -}; + +export type DataCubeLatestIriQuery = { __typename: 'Query', dataCubeLatestIri: string }; export type DataCubeUnversionedIriQueryVariables = Exact<{ - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; cubeFilter: DataCubeUnversionedIriFilter; }>; -export type DataCubeUnversionedIriQuery = { - __typename: "Query"; - dataCubeUnversionedIri?: Maybe; -}; + +export type DataCubeUnversionedIriQuery = { __typename: 'Query', dataCubeUnversionedIri?: Maybe }; export type DataCubeComponentsQueryVariables = Exact<{ - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale: Scalars["String"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale: Scalars['String']; cubeFilter: DataCubeComponentFilter; }>; -export type DataCubeComponentsQuery = { - __typename: "Query"; - dataCubeComponents: DataCubeComponents; -}; + +export type DataCubeComponentsQuery = { __typename: 'Query', dataCubeComponents: DataCubeComponents }; export type DataCubeDimensionGeoShapesQueryVariables = Exact<{ - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale: Scalars["String"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale: Scalars['String']; cubeFilter: DataCubeDimensionGeoShapesCubeFilter; }>; -export type DataCubeDimensionGeoShapesQuery = { - __typename: "Query"; - dataCubeDimensionGeoShapes?: Maybe; -}; + +export type DataCubeDimensionGeoShapesQuery = { __typename: 'Query', dataCubeDimensionGeoShapes?: Maybe }; export type DataCubeMetadataQueryVariables = Exact<{ - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale: Scalars["String"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale: Scalars['String']; cubeFilter: DataCubeMetadataFilter; }>; -export type DataCubeMetadataQuery = { - __typename: "Query"; - dataCubeMetadata: DataCubeMetadata; -}; + +export type DataCubeMetadataQuery = { __typename: 'Query', dataCubeMetadata: DataCubeMetadata }; export type DataCubeComponentTermsetsQueryVariables = Exact<{ - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale: Scalars["String"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale: Scalars['String']; cubeFilter: DataCubeTermsetFilter; }>; -export type DataCubeComponentTermsetsQuery = { - __typename: "Query"; - dataCubeComponentTermsets: Array; -}; + +export type DataCubeComponentTermsetsQuery = { __typename: 'Query', dataCubeComponentTermsets: Array }; export type DataCubeObservationsQueryVariables = Exact<{ - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale: Scalars["String"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale: Scalars['String']; cubeFilter: DataCubeObservationFilter; }>; -export type DataCubeObservationsQuery = { - __typename: "Query"; - dataCubeObservations: DataCubeObservations; -}; + +export type DataCubeObservationsQuery = { __typename: 'Query', dataCubeObservations: DataCubeObservations }; export type DataCubePreviewQueryVariables = Exact<{ - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale: Scalars["String"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale: Scalars['String']; cubeFilter: DataCubePreviewFilter; }>; -export type DataCubePreviewQuery = { - __typename: "Query"; - dataCubePreview: DataCubePreview; -}; + +export type DataCubePreviewQuery = { __typename: 'Query', dataCubePreview: DataCubePreview }; export type PossibleFiltersQueryVariables = Exact<{ - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; cubeFilter: DataCubePossibleFiltersCubeFilter; }>; -export type PossibleFiltersQuery = { - __typename: "Query"; - possibleFilters: Array<{ - __typename: "PossibleFilterValue"; - type: string; - id: string; - value?: Maybe; - }>; -}; + +export type PossibleFiltersQuery = { __typename: 'Query', possibleFilters: Array<{ __typename: 'PossibleFilterValue', type: string, id: string, value?: Maybe }> }; + export const SearchCubesDocument = gql` - query SearchCubes( - $sourceType: String! - $sourceUrl: DataSourceUrl! - $locale: String! - $query: String - $order: SearchCubeResultOrder - $includeDrafts: Boolean - $fetchDimensionTermsets: Boolean - $filters: [SearchCubeFilter!] + query SearchCubes($sourceType: String!, $sourceUrl: DataSourceUrl!, $locale: String!, $query: String, $order: SearchCubeResultOrder, $includeDrafts: Boolean, $fetchDimensionTermsets: Boolean, $filters: [SearchCubeFilter!]) { + searchCubes( + sourceType: $sourceType + sourceUrl: $sourceUrl + locale: $locale + query: $query + order: $order + includeDrafts: $includeDrafts + fetchDimensionTermsets: $fetchDimensionTermsets + filters: $filters ) { - searchCubes( - sourceType: $sourceType - sourceUrl: $sourceUrl - locale: $locale - query: $query - order: $order - includeDrafts: $includeDrafts - fetchDimensionTermsets: $fetchDimensionTermsets - filters: $filters - ) { - highlightedTitle - highlightedDescription - cube - } + highlightedTitle + highlightedDescription + cube } -`; - -export function useSearchCubesQuery( - options: Omit, "query"> = {} -) { - return Urql.useQuery({ - query: SearchCubesDocument, - ...options, - }); } + `; + +export function useSearchCubesQuery(options: Omit, 'query'> = {}) { + return Urql.useQuery({ query: SearchCubesDocument, ...options }); +}; export const DataCubeLatestIriDocument = gql` - query DataCubeLatestIri( - $sourceType: String! - $sourceUrl: DataSourceUrl! - $cubeFilter: DataCubeLatestIriFilter! - ) { - dataCubeLatestIri( - sourceType: $sourceType - sourceUrl: $sourceUrl - cubeFilter: $cubeFilter - ) - } -`; - -export function useDataCubeLatestIriQuery( - options: Omit< - Urql.UseQueryArgs, - "query" - > = {} -) { - return Urql.useQuery({ - query: DataCubeLatestIriDocument, - ...options, - }); + query DataCubeLatestIri($sourceType: String!, $sourceUrl: DataSourceUrl!, $cubeFilter: DataCubeLatestIriFilter!) { + dataCubeLatestIri( + sourceType: $sourceType + sourceUrl: $sourceUrl + cubeFilter: $cubeFilter + ) } + `; + +export function useDataCubeLatestIriQuery(options: Omit, 'query'> = {}) { + return Urql.useQuery({ query: DataCubeLatestIriDocument, ...options }); +}; export const DataCubeUnversionedIriDocument = gql` - query DataCubeUnversionedIri( - $sourceType: String! - $sourceUrl: DataSourceUrl! - $cubeFilter: DataCubeUnversionedIriFilter! - ) { - dataCubeUnversionedIri( - sourceType: $sourceType - sourceUrl: $sourceUrl - cubeFilter: $cubeFilter - ) - } -`; - -export function useDataCubeUnversionedIriQuery( - options: Omit< - Urql.UseQueryArgs, - "query" - > = {} -) { - return Urql.useQuery({ - query: DataCubeUnversionedIriDocument, - ...options, - }); + query DataCubeUnversionedIri($sourceType: String!, $sourceUrl: DataSourceUrl!, $cubeFilter: DataCubeUnversionedIriFilter!) { + dataCubeUnversionedIri( + sourceType: $sourceType + sourceUrl: $sourceUrl + cubeFilter: $cubeFilter + ) } + `; + +export function useDataCubeUnversionedIriQuery(options: Omit, 'query'> = {}) { + return Urql.useQuery({ query: DataCubeUnversionedIriDocument, ...options }); +}; export const DataCubeComponentsDocument = gql` - query DataCubeComponents( - $sourceType: String! - $sourceUrl: DataSourceUrl! - $locale: String! - $cubeFilter: DataCubeComponentFilter! - ) { - dataCubeComponents( - sourceType: $sourceType - sourceUrl: $sourceUrl - locale: $locale - cubeFilter: $cubeFilter - ) - } -`; - -export function useDataCubeComponentsQuery( - options: Omit< - Urql.UseQueryArgs, - "query" - > = {} -) { - return Urql.useQuery({ - query: DataCubeComponentsDocument, - ...options, - }); + query DataCubeComponents($sourceType: String!, $sourceUrl: DataSourceUrl!, $locale: String!, $cubeFilter: DataCubeComponentFilter!) { + dataCubeComponents( + sourceType: $sourceType + sourceUrl: $sourceUrl + locale: $locale + cubeFilter: $cubeFilter + ) } + `; + +export function useDataCubeComponentsQuery(options: Omit, 'query'> = {}) { + return Urql.useQuery({ query: DataCubeComponentsDocument, ...options }); +}; export const DataCubeDimensionGeoShapesDocument = gql` - query DataCubeDimensionGeoShapes( - $sourceType: String! - $sourceUrl: DataSourceUrl! - $locale: String! - $cubeFilter: DataCubeDimensionGeoShapesCubeFilter! - ) { - dataCubeDimensionGeoShapes( - sourceType: $sourceType - sourceUrl: $sourceUrl - locale: $locale - cubeFilter: $cubeFilter - ) - } -`; - -export function useDataCubeDimensionGeoShapesQuery( - options: Omit< - Urql.UseQueryArgs, - "query" - > = {} -) { - return Urql.useQuery({ - query: DataCubeDimensionGeoShapesDocument, - ...options, - }); + query DataCubeDimensionGeoShapes($sourceType: String!, $sourceUrl: DataSourceUrl!, $locale: String!, $cubeFilter: DataCubeDimensionGeoShapesCubeFilter!) { + dataCubeDimensionGeoShapes( + sourceType: $sourceType + sourceUrl: $sourceUrl + locale: $locale + cubeFilter: $cubeFilter + ) } + `; + +export function useDataCubeDimensionGeoShapesQuery(options: Omit, 'query'> = {}) { + return Urql.useQuery({ query: DataCubeDimensionGeoShapesDocument, ...options }); +}; export const DataCubeMetadataDocument = gql` - query DataCubeMetadata( - $sourceType: String! - $sourceUrl: DataSourceUrl! - $locale: String! - $cubeFilter: DataCubeMetadataFilter! - ) { - dataCubeMetadata( - sourceType: $sourceType - sourceUrl: $sourceUrl - locale: $locale - cubeFilter: $cubeFilter - ) - } -`; - -export function useDataCubeMetadataQuery( - options: Omit, "query"> = {} -) { - return Urql.useQuery({ - query: DataCubeMetadataDocument, - ...options, - }); + query DataCubeMetadata($sourceType: String!, $sourceUrl: DataSourceUrl!, $locale: String!, $cubeFilter: DataCubeMetadataFilter!) { + dataCubeMetadata( + sourceType: $sourceType + sourceUrl: $sourceUrl + locale: $locale + cubeFilter: $cubeFilter + ) } + `; + +export function useDataCubeMetadataQuery(options: Omit, 'query'> = {}) { + return Urql.useQuery({ query: DataCubeMetadataDocument, ...options }); +}; export const DataCubeComponentTermsetsDocument = gql` - query DataCubeComponentTermsets( - $sourceType: String! - $sourceUrl: DataSourceUrl! - $locale: String! - $cubeFilter: DataCubeTermsetFilter! - ) { - dataCubeComponentTermsets( - sourceType: $sourceType - sourceUrl: $sourceUrl - locale: $locale - cubeFilter: $cubeFilter - ) - } -`; - -export function useDataCubeComponentTermsetsQuery( - options: Omit< - Urql.UseQueryArgs, - "query" - > = {} -) { - return Urql.useQuery({ - query: DataCubeComponentTermsetsDocument, - ...options, - }); + query DataCubeComponentTermsets($sourceType: String!, $sourceUrl: DataSourceUrl!, $locale: String!, $cubeFilter: DataCubeTermsetFilter!) { + dataCubeComponentTermsets( + sourceType: $sourceType + sourceUrl: $sourceUrl + locale: $locale + cubeFilter: $cubeFilter + ) } + `; + +export function useDataCubeComponentTermsetsQuery(options: Omit, 'query'> = {}) { + return Urql.useQuery({ query: DataCubeComponentTermsetsDocument, ...options }); +}; export const DataCubeObservationsDocument = gql` - query DataCubeObservations( - $sourceType: String! - $sourceUrl: DataSourceUrl! - $locale: String! - $cubeFilter: DataCubeObservationFilter! - ) { - dataCubeObservations( - sourceType: $sourceType - sourceUrl: $sourceUrl - locale: $locale - cubeFilter: $cubeFilter - ) - } -`; - -export function useDataCubeObservationsQuery( - options: Omit< - Urql.UseQueryArgs, - "query" - > = {} -) { - return Urql.useQuery({ - query: DataCubeObservationsDocument, - ...options, - }); + query DataCubeObservations($sourceType: String!, $sourceUrl: DataSourceUrl!, $locale: String!, $cubeFilter: DataCubeObservationFilter!) { + dataCubeObservations( + sourceType: $sourceType + sourceUrl: $sourceUrl + locale: $locale + cubeFilter: $cubeFilter + ) } + `; + +export function useDataCubeObservationsQuery(options: Omit, 'query'> = {}) { + return Urql.useQuery({ query: DataCubeObservationsDocument, ...options }); +}; export const DataCubePreviewDocument = gql` - query DataCubePreview( - $sourceType: String! - $sourceUrl: DataSourceUrl! - $locale: String! - $cubeFilter: DataCubePreviewFilter! - ) { - dataCubePreview( - sourceType: $sourceType - sourceUrl: $sourceUrl - locale: $locale - cubeFilter: $cubeFilter - ) - } -`; - -export function useDataCubePreviewQuery( - options: Omit, "query"> = {} -) { - return Urql.useQuery({ - query: DataCubePreviewDocument, - ...options, - }); + query DataCubePreview($sourceType: String!, $sourceUrl: DataSourceUrl!, $locale: String!, $cubeFilter: DataCubePreviewFilter!) { + dataCubePreview( + sourceType: $sourceType + sourceUrl: $sourceUrl + locale: $locale + cubeFilter: $cubeFilter + ) } + `; + +export function useDataCubePreviewQuery(options: Omit, 'query'> = {}) { + return Urql.useQuery({ query: DataCubePreviewDocument, ...options }); +}; export const PossibleFiltersDocument = gql` - query PossibleFilters( - $sourceType: String! - $sourceUrl: DataSourceUrl! - $cubeFilter: DataCubePossibleFiltersCubeFilter! + query PossibleFilters($sourceType: String!, $sourceUrl: DataSourceUrl!, $cubeFilter: DataCubePossibleFiltersCubeFilter!) { + possibleFilters( + sourceType: $sourceType + sourceUrl: $sourceUrl + cubeFilter: $cubeFilter ) { - possibleFilters( - sourceType: $sourceType - sourceUrl: $sourceUrl - cubeFilter: $cubeFilter - ) { - type - id - value - } + type + id + value } -`; - -export function usePossibleFiltersQuery( - options: Omit, "query"> = {} -) { - return Urql.useQuery({ - query: PossibleFiltersDocument, - ...options, - }); } + `; + +export function usePossibleFiltersQuery(options: Omit, 'query'> = {}) { + return Urql.useQuery({ query: PossibleFiltersDocument, ...options }); +}; \ No newline at end of file diff --git a/app/graphql/resolver-types.ts b/app/graphql/resolver-types.ts index bb6c539d1b..e93c00b284 100644 --- a/app/graphql/resolver-types.ts +++ b/app/graphql/resolver-types.ts @@ -1,37 +1,25 @@ -import { ComponentTermsets } from "../domain/data"; -import { DataCubeComponents } from "../domain/data"; -import { DataCubeMetadata } from "../domain/data"; -import { DataCubeObservations } from "../domain/data"; -import { DataCubePreview } from "../domain/data"; -import { DataSourceUrl } from "../domain/data-source"; -import { DimensionValue } from "../domain/data"; -import { Filters } from "../configurator"; -import { GeoShapes } from "../domain/data"; -import { HierarchyValue } from "../domain/data"; -import { Observation } from "../domain/data"; -import { RawObservation } from "../domain/data"; -import { SearchCube } from "../domain/data"; -import { SingleFilters } from "../configurator"; -import { Termset } from "../domain/data"; -import { - GraphQLResolveInfo, - GraphQLScalarType, - GraphQLScalarTypeConfig, -} from "graphql"; -import { VisualizeGraphQLContext } from "./context"; +import { ComponentTermsets } from '../domain/data'; +import { DataCubeComponents } from '../domain/data'; +import { DataCubeMetadata } from '../domain/data'; +import { DataCubeObservations } from '../domain/data'; +import { DataCubePreview } from '../domain/data'; +import { DataSourceUrl } from '../domain/data-source'; +import { DimensionValue } from '../domain/data'; +import { Filters } from '../configurator'; +import { GeoShapes } from '../domain/data'; +import { HierarchyValue } from '../domain/data'; +import { Observation } from '../domain/data'; +import { RawObservation } from '../domain/data'; +import { SearchCube } from '../domain/data'; +import { SingleFilters } from '../configurator'; +import { Termset } from '../domain/data'; +import { GraphQLResolveInfo, GraphQLScalarType, GraphQLScalarTypeConfig } from 'graphql'; +import { VisualizeGraphQLContext } from './context'; export type Maybe = T | null; -export type Exact = { - [K in keyof T]: T[K]; -}; -export type MakeOptional = Omit & { - [SubKey in K]?: Maybe; -}; -export type MakeMaybe = Omit & { - [SubKey in K]: Maybe; -}; -export type RequireFields = { - [X in Exclude]?: T[X]; -} & { [P in K]-?: NonNullable }; +export type Exact = { [K in keyof T]: T[K] }; +export type MakeOptional = Omit & { [SubKey in K]?: Maybe }; +export type MakeMaybe = Omit & { [SubKey in K]: Maybe }; +export type RequireFields = { [X in Exclude]?: T[X] } & { [P in K]-?: NonNullable }; /** All built-in and custom scalars, mapped to their actual values */ export type Scalars = { ID: string; @@ -59,234 +47,258 @@ export type Scalars = { ValuePosition: any; }; + + export type DataCubeComponentFilter = { - iri: Scalars["String"]; - filters?: Maybe; - componentIds?: Maybe>; - joinBy?: Maybe>; - loadValues?: Maybe; + iri: Scalars['String']; + filters?: Maybe; + componentIds?: Maybe>; + joinBy?: Maybe>; + loadValues?: Maybe; }; + export type DataCubeDimensionGeoShapesCubeFilter = { - iri: Scalars["String"]; - dimensionId: Scalars["String"]; + iri: Scalars['String']; + dimensionId: Scalars['String']; }; export type DataCubeLatestIriFilter = { - iri: Scalars["String"]; + iri: Scalars['String']; }; + export type DataCubeMetadataFilter = { - iri: Scalars["String"]; + iri: Scalars['String']; }; export type DataCubeObservationFilter = { - iri: Scalars["String"]; - filters?: Maybe; - componentIds?: Maybe>; - joinBy?: Maybe>; + iri: Scalars['String']; + filters?: Maybe; + componentIds?: Maybe>; + joinBy?: Maybe>; }; + export type DataCubeOrganization = { - __typename?: "DataCubeOrganization"; - iri: Scalars["String"]; - label?: Maybe; + __typename?: 'DataCubeOrganization'; + iri: Scalars['String']; + label?: Maybe; }; export type DataCubePossibleFiltersCubeFilter = { - iri: Scalars["String"]; - filters: Scalars["SingleFilters"]; + iri: Scalars['String']; + filters: Scalars['SingleFilters']; }; + export type DataCubePreviewFilter = { - iri: Scalars["String"]; + iri: Scalars['String']; }; export enum DataCubePublicationStatus { - Draft = "DRAFT", - Published = "PUBLISHED", + Draft = 'DRAFT', + Published = 'PUBLISHED' } export type DataCubeTermset = { - __typename?: "DataCubeTermset"; - iri: Scalars["String"]; - label?: Maybe; + __typename?: 'DataCubeTermset'; + iri: Scalars['String']; + label?: Maybe; }; export type DataCubeTermsetFilter = { - iri: Scalars["String"]; + iri: Scalars['String']; }; export type DataCubeTheme = { - __typename?: "DataCubeTheme"; - iri: Scalars["String"]; - label?: Maybe; + __typename?: 'DataCubeTheme'; + iri: Scalars['String']; + label?: Maybe; }; export type DataCubeUnversionedIriFilter = { - iri: Scalars["String"]; + iri: Scalars['String']; }; + + + + + + + export type PossibleFilterValue = { - __typename?: "PossibleFilterValue"; - type: Scalars["String"]; - id: Scalars["String"]; - value?: Maybe; + __typename?: 'PossibleFilterValue'; + type: Scalars['String']; + id: Scalars['String']; + value?: Maybe; }; export type Query = { - __typename?: "Query"; - dataCubeLatestIri: Scalars["String"]; - dataCubeUnversionedIri?: Maybe; - dataCubeComponents: Scalars["DataCubeComponents"]; - dataCubeComponentTermsets: Array; - dataCubeMetadata: Scalars["DataCubeMetadata"]; - dataCubeObservations: Scalars["DataCubeObservations"]; - dataCubePreview: Scalars["DataCubePreview"]; + __typename?: 'Query'; + dataCubeLatestIri: Scalars['String']; + dataCubeUnversionedIri?: Maybe; + dataCubeComponents: Scalars['DataCubeComponents']; + dataCubeComponentTermsets: Array; + dataCubeMetadata: Scalars['DataCubeMetadata']; + dataCubeObservations: Scalars['DataCubeObservations']; + dataCubePreview: Scalars['DataCubePreview']; possibleFilters: Array; searchCubes: Array; - dataCubeDimensionGeoShapes?: Maybe; + dataCubeDimensionGeoShapes?: Maybe; }; + export type QueryDataCubeLatestIriArgs = { - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; cubeFilter: DataCubeLatestIriFilter; }; + export type QueryDataCubeUnversionedIriArgs = { - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; cubeFilter: DataCubeUnversionedIriFilter; }; + export type QueryDataCubeComponentsArgs = { - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale: Scalars["String"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale: Scalars['String']; cubeFilter: DataCubeComponentFilter; }; + export type QueryDataCubeComponentTermsetsArgs = { - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale: Scalars["String"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale: Scalars['String']; cubeFilter: DataCubeTermsetFilter; }; + export type QueryDataCubeMetadataArgs = { - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale: Scalars["String"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale: Scalars['String']; cubeFilter: DataCubeMetadataFilter; }; + export type QueryDataCubeObservationsArgs = { - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale: Scalars["String"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale: Scalars['String']; cubeFilter: DataCubeObservationFilter; }; + export type QueryDataCubePreviewArgs = { - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale: Scalars["String"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale: Scalars['String']; cubeFilter: DataCubePreviewFilter; }; + export type QueryPossibleFiltersArgs = { - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; cubeFilter: DataCubePossibleFiltersCubeFilter; }; + export type QuerySearchCubesArgs = { - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale?: Maybe; - query?: Maybe; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale?: Maybe; + query?: Maybe; order?: Maybe; - includeDrafts?: Maybe; - fetchDimensionTermsets?: Maybe; + includeDrafts?: Maybe; + fetchDimensionTermsets?: Maybe; filters?: Maybe>; }; + export type QueryDataCubeDimensionGeoShapesArgs = { - sourceType: Scalars["String"]; - sourceUrl: Scalars["DataSourceUrl"]; - locale: Scalars["String"]; + sourceType: Scalars['String']; + sourceUrl: Scalars['DataSourceUrl']; + locale: Scalars['String']; cubeFilter: DataCubeDimensionGeoShapesCubeFilter; }; + export type RelatedDimension = { - __typename?: "RelatedDimension"; + __typename?: 'RelatedDimension'; type: RelatedDimensionType; - id: Scalars["String"]; + id: Scalars['String']; }; export enum RelatedDimensionType { - StandardError = "StandardError", - ConfidenceUpperBound = "ConfidenceUpperBound", - ConfidenceLowerBound = "ConfidenceLowerBound", + StandardError = 'StandardError', + ConfidenceUpperBound = 'ConfidenceUpperBound', + ConfidenceLowerBound = 'ConfidenceLowerBound' } export enum ScaleType { - Ordinal = "Ordinal", - Nominal = "Nominal", - Interval = "Interval", - Ratio = "Ratio", + Ordinal = 'Ordinal', + Nominal = 'Nominal', + Interval = 'Interval', + Ratio = 'Ratio' } + export type SearchCubeFilter = { type: SearchCubeFilterType; - label?: Maybe; - value: Scalars["String"]; + label?: Maybe; + value: Scalars['String']; }; export enum SearchCubeFilterType { - TemporalDimension = "TemporalDimension", - DataCubeTheme = "DataCubeTheme", - DataCubeOrganization = "DataCubeOrganization", - DataCubeAbout = "DataCubeAbout", - DataCubeTermset = "DataCubeTermset", + TemporalDimension = 'TemporalDimension', + DataCubeTheme = 'DataCubeTheme', + DataCubeOrganization = 'DataCubeOrganization', + DataCubeAbout = 'DataCubeAbout', + DataCubeTermset = 'DataCubeTermset' } export type SearchCubeResult = { - __typename?: "SearchCubeResult"; - score?: Maybe; - cube: Scalars["SearchCube"]; - highlightedTitle?: Maybe; - highlightedDescription?: Maybe; + __typename?: 'SearchCubeResult'; + score?: Maybe; + cube: Scalars['SearchCube']; + highlightedTitle?: Maybe; + highlightedDescription?: Maybe; }; export enum SearchCubeResultOrder { - Score = "SCORE", - TitleAsc = "TITLE_ASC", - CreatedDesc = "CREATED_DESC", + Score = 'SCORE', + TitleAsc = 'TITLE_ASC', + CreatedDesc = 'CREATED_DESC' } + + export enum TimeUnit { - Year = "Year", - Month = "Month", - Week = "Week", - Day = "Day", - Hour = "Hour", - Minute = "Minute", - Second = "Second", + Year = 'Year', + Month = 'Month', + Week = 'Week', + Day = 'Day', + Hour = 'Hour', + Minute = 'Minute', + Second = 'Second' } + + export type WithIndex = TObject & Record; export type ResolversObject = WithIndex; export type ResolverTypeWrapper = Promise | T; -export type Resolver< - TResult, - TParent = {}, - TContext = {}, - TArgs = {}, -> = ResolverFn; +export type Resolver = ResolverFn; export type ResolverFn = ( parent: TParent, @@ -309,25 +321,9 @@ export type SubscriptionResolveFn = ( info: GraphQLResolveInfo ) => TResult | Promise; -export interface SubscriptionSubscriberObject< - TResult, - TKey extends string, - TParent, - TContext, - TArgs, -> { - subscribe: SubscriptionSubscribeFn< - { [key in TKey]: TResult }, - TParent, - TContext, - TArgs - >; - resolve?: SubscriptionResolveFn< - TResult, - { [key in TKey]: TResult }, - TContext, - TArgs - >; +export interface SubscriptionSubscriberObject { + subscribe: SubscriptionSubscribeFn<{ [key in TKey]: TResult }, TParent, TContext, TArgs>; + resolve?: SubscriptionResolveFn; } export interface SubscriptionResolverObject { @@ -335,26 +331,12 @@ export interface SubscriptionResolverObject { resolve: SubscriptionResolveFn; } -export type SubscriptionObject< - TResult, - TKey extends string, - TParent, - TContext, - TArgs, -> = +export type SubscriptionObject = | SubscriptionSubscriberObject | SubscriptionResolverObject; -export type SubscriptionResolver< - TResult, - TKey extends string, - TParent = {}, - TContext = {}, - TArgs = {}, -> = - | (( - ...args: any[] - ) => SubscriptionObject) +export type SubscriptionResolver = + | ((...args: any[]) => SubscriptionObject) | SubscriptionObject; export type TypeResolveFn = ( @@ -363,20 +345,11 @@ export type TypeResolveFn = ( info: GraphQLResolveInfo ) => Maybe | Promise>; -export type IsTypeOfResolverFn = ( - obj: T, - context: TContext, - info: GraphQLResolveInfo -) => boolean | Promise; +export type IsTypeOfResolverFn = (obj: T, context: TContext, info: GraphQLResolveInfo) => boolean | Promise; export type NextResolverFn = () => Promise; -export type DirectiveResolverFn< - TResult = {}, - TParent = {}, - TContext = {}, - TArgs = {}, -> = ( +export type DirectiveResolverFn = ( next: NextResolverFn, parent: TParent, args: TArgs, @@ -386,364 +359,220 @@ export type DirectiveResolverFn< /** Mapping between all available schema types and the resolvers types */ export type ResolversTypes = ResolversObject<{ - ComponentTermsets: ResolverTypeWrapper; + ComponentTermsets: ResolverTypeWrapper; DataCubeComponentFilter: DataCubeComponentFilter; - String: ResolverTypeWrapper; - Boolean: ResolverTypeWrapper; - DataCubeComponents: ResolverTypeWrapper; + String: ResolverTypeWrapper; + Boolean: ResolverTypeWrapper; + DataCubeComponents: ResolverTypeWrapper; DataCubeDimensionGeoShapesCubeFilter: DataCubeDimensionGeoShapesCubeFilter; DataCubeLatestIriFilter: DataCubeLatestIriFilter; - DataCubeMetadata: ResolverTypeWrapper; + DataCubeMetadata: ResolverTypeWrapper; DataCubeMetadataFilter: DataCubeMetadataFilter; DataCubeObservationFilter: DataCubeObservationFilter; - DataCubeObservations: ResolverTypeWrapper; + DataCubeObservations: ResolverTypeWrapper; DataCubeOrganization: ResolverTypeWrapper; DataCubePossibleFiltersCubeFilter: DataCubePossibleFiltersCubeFilter; - DataCubePreview: ResolverTypeWrapper; + DataCubePreview: ResolverTypeWrapper; DataCubePreviewFilter: DataCubePreviewFilter; DataCubePublicationStatus: DataCubePublicationStatus; DataCubeTermset: ResolverTypeWrapper; DataCubeTermsetFilter: DataCubeTermsetFilter; DataCubeTheme: ResolverTypeWrapper; DataCubeUnversionedIriFilter: DataCubeUnversionedIriFilter; - DataSourceUrl: ResolverTypeWrapper; - DimensionValue: ResolverTypeWrapper; - FilterValue: ResolverTypeWrapper; - Filters: ResolverTypeWrapper; - GeoShapes: ResolverTypeWrapper; - HierarchyValue: ResolverTypeWrapper; - Observation: ResolverTypeWrapper; + DataSourceUrl: ResolverTypeWrapper; + DimensionValue: ResolverTypeWrapper; + FilterValue: ResolverTypeWrapper; + Filters: ResolverTypeWrapper; + GeoShapes: ResolverTypeWrapper; + HierarchyValue: ResolverTypeWrapper; + Observation: ResolverTypeWrapper; PossibleFilterValue: ResolverTypeWrapper; Query: ResolverTypeWrapper<{}>; - RawObservation: ResolverTypeWrapper; + RawObservation: ResolverTypeWrapper; RelatedDimension: ResolverTypeWrapper; RelatedDimensionType: RelatedDimensionType; ScaleType: ScaleType; - SearchCube: ResolverTypeWrapper; + SearchCube: ResolverTypeWrapper; SearchCubeFilter: SearchCubeFilter; SearchCubeFilterType: SearchCubeFilterType; SearchCubeResult: ResolverTypeWrapper; - Float: ResolverTypeWrapper; + Float: ResolverTypeWrapper; SearchCubeResultOrder: SearchCubeResultOrder; - SingleFilters: ResolverTypeWrapper; - Termset: ResolverTypeWrapper; + SingleFilters: ResolverTypeWrapper; + Termset: ResolverTypeWrapper; TimeUnit: TimeUnit; - ValueIdentifier: ResolverTypeWrapper; - ValuePosition: ResolverTypeWrapper; + ValueIdentifier: ResolverTypeWrapper; + ValuePosition: ResolverTypeWrapper; }>; /** Mapping between all available schema types and the resolvers parents */ export type ResolversParentTypes = ResolversObject<{ - ComponentTermsets: Scalars["ComponentTermsets"]; + ComponentTermsets: Scalars['ComponentTermsets']; DataCubeComponentFilter: DataCubeComponentFilter; - String: Scalars["String"]; - Boolean: Scalars["Boolean"]; - DataCubeComponents: Scalars["DataCubeComponents"]; + String: Scalars['String']; + Boolean: Scalars['Boolean']; + DataCubeComponents: Scalars['DataCubeComponents']; DataCubeDimensionGeoShapesCubeFilter: DataCubeDimensionGeoShapesCubeFilter; DataCubeLatestIriFilter: DataCubeLatestIriFilter; - DataCubeMetadata: Scalars["DataCubeMetadata"]; + DataCubeMetadata: Scalars['DataCubeMetadata']; DataCubeMetadataFilter: DataCubeMetadataFilter; DataCubeObservationFilter: DataCubeObservationFilter; - DataCubeObservations: Scalars["DataCubeObservations"]; + DataCubeObservations: Scalars['DataCubeObservations']; DataCubeOrganization: DataCubeOrganization; DataCubePossibleFiltersCubeFilter: DataCubePossibleFiltersCubeFilter; - DataCubePreview: Scalars["DataCubePreview"]; + DataCubePreview: Scalars['DataCubePreview']; DataCubePreviewFilter: DataCubePreviewFilter; DataCubeTermset: DataCubeTermset; DataCubeTermsetFilter: DataCubeTermsetFilter; DataCubeTheme: DataCubeTheme; DataCubeUnversionedIriFilter: DataCubeUnversionedIriFilter; - DataSourceUrl: Scalars["DataSourceUrl"]; - DimensionValue: Scalars["DimensionValue"]; - FilterValue: Scalars["FilterValue"]; - Filters: Scalars["Filters"]; - GeoShapes: Scalars["GeoShapes"]; - HierarchyValue: Scalars["HierarchyValue"]; - Observation: Scalars["Observation"]; + DataSourceUrl: Scalars['DataSourceUrl']; + DimensionValue: Scalars['DimensionValue']; + FilterValue: Scalars['FilterValue']; + Filters: Scalars['Filters']; + GeoShapes: Scalars['GeoShapes']; + HierarchyValue: Scalars['HierarchyValue']; + Observation: Scalars['Observation']; PossibleFilterValue: PossibleFilterValue; Query: {}; - RawObservation: Scalars["RawObservation"]; + RawObservation: Scalars['RawObservation']; RelatedDimension: RelatedDimension; - SearchCube: Scalars["SearchCube"]; + SearchCube: Scalars['SearchCube']; SearchCubeFilter: SearchCubeFilter; SearchCubeResult: SearchCubeResult; - Float: Scalars["Float"]; - SingleFilters: Scalars["SingleFilters"]; - Termset: Scalars["Termset"]; - ValueIdentifier: Scalars["ValueIdentifier"]; - ValuePosition: Scalars["ValuePosition"]; + Float: Scalars['Float']; + SingleFilters: Scalars['SingleFilters']; + Termset: Scalars['Termset']; + ValueIdentifier: Scalars['ValueIdentifier']; + ValuePosition: Scalars['ValuePosition']; }>; -export type SafeUrlDirectiveArgs = { pattern?: Maybe }; +export type SafeUrlDirectiveArgs = { pattern?: Maybe; }; -export type SafeUrlDirectiveResolver< - Result, - Parent, - ContextType = VisualizeGraphQLContext, - Args = SafeUrlDirectiveArgs, -> = DirectiveResolverFn; +export type SafeUrlDirectiveResolver = DirectiveResolverFn; -export interface ComponentTermsetsScalarConfig - extends GraphQLScalarTypeConfig { - name: "ComponentTermsets"; +export interface ComponentTermsetsScalarConfig extends GraphQLScalarTypeConfig { + name: 'ComponentTermsets'; } -export interface DataCubeComponentsScalarConfig - extends GraphQLScalarTypeConfig { - name: "DataCubeComponents"; +export interface DataCubeComponentsScalarConfig extends GraphQLScalarTypeConfig { + name: 'DataCubeComponents'; } -export interface DataCubeMetadataScalarConfig - extends GraphQLScalarTypeConfig { - name: "DataCubeMetadata"; +export interface DataCubeMetadataScalarConfig extends GraphQLScalarTypeConfig { + name: 'DataCubeMetadata'; } -export interface DataCubeObservationsScalarConfig - extends GraphQLScalarTypeConfig { - name: "DataCubeObservations"; +export interface DataCubeObservationsScalarConfig extends GraphQLScalarTypeConfig { + name: 'DataCubeObservations'; } -export type DataCubeOrganizationResolvers< - ContextType = VisualizeGraphQLContext, - ParentType extends - ResolversParentTypes["DataCubeOrganization"] = ResolversParentTypes["DataCubeOrganization"], -> = ResolversObject<{ - iri?: Resolver; - label?: Resolver, ParentType, ContextType>; +export type DataCubeOrganizationResolvers = ResolversObject<{ + iri?: Resolver; + label?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }>; -export interface DataCubePreviewScalarConfig - extends GraphQLScalarTypeConfig { - name: "DataCubePreview"; +export interface DataCubePreviewScalarConfig extends GraphQLScalarTypeConfig { + name: 'DataCubePreview'; } -export type DataCubeTermsetResolvers< - ContextType = VisualizeGraphQLContext, - ParentType extends - ResolversParentTypes["DataCubeTermset"] = ResolversParentTypes["DataCubeTermset"], -> = ResolversObject<{ - iri?: Resolver; - label?: Resolver, ParentType, ContextType>; +export type DataCubeTermsetResolvers = ResolversObject<{ + iri?: Resolver; + label?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }>; -export type DataCubeThemeResolvers< - ContextType = VisualizeGraphQLContext, - ParentType extends - ResolversParentTypes["DataCubeTheme"] = ResolversParentTypes["DataCubeTheme"], -> = ResolversObject<{ - iri?: Resolver; - label?: Resolver, ParentType, ContextType>; +export type DataCubeThemeResolvers = ResolversObject<{ + iri?: Resolver; + label?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }>; -export interface DataSourceUrlScalarConfig - extends GraphQLScalarTypeConfig { - name: "DataSourceUrl"; +export interface DataSourceUrlScalarConfig extends GraphQLScalarTypeConfig { + name: 'DataSourceUrl'; } -export interface DimensionValueScalarConfig - extends GraphQLScalarTypeConfig { - name: "DimensionValue"; +export interface DimensionValueScalarConfig extends GraphQLScalarTypeConfig { + name: 'DimensionValue'; } -export interface FilterValueScalarConfig - extends GraphQLScalarTypeConfig { - name: "FilterValue"; +export interface FilterValueScalarConfig extends GraphQLScalarTypeConfig { + name: 'FilterValue'; } -export interface FiltersScalarConfig - extends GraphQLScalarTypeConfig { - name: "Filters"; +export interface FiltersScalarConfig extends GraphQLScalarTypeConfig { + name: 'Filters'; } -export interface GeoShapesScalarConfig - extends GraphQLScalarTypeConfig { - name: "GeoShapes"; +export interface GeoShapesScalarConfig extends GraphQLScalarTypeConfig { + name: 'GeoShapes'; } -export interface HierarchyValueScalarConfig - extends GraphQLScalarTypeConfig { - name: "HierarchyValue"; +export interface HierarchyValueScalarConfig extends GraphQLScalarTypeConfig { + name: 'HierarchyValue'; } -export interface ObservationScalarConfig - extends GraphQLScalarTypeConfig { - name: "Observation"; +export interface ObservationScalarConfig extends GraphQLScalarTypeConfig { + name: 'Observation'; } -export type PossibleFilterValueResolvers< - ContextType = VisualizeGraphQLContext, - ParentType extends - ResolversParentTypes["PossibleFilterValue"] = ResolversParentTypes["PossibleFilterValue"], -> = ResolversObject<{ - type?: Resolver; - id?: Resolver; - value?: Resolver< - Maybe, - ParentType, - ContextType - >; +export type PossibleFilterValueResolvers = ResolversObject<{ + type?: Resolver; + id?: Resolver; + value?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }>; -export type QueryResolvers< - ContextType = VisualizeGraphQLContext, - ParentType extends - ResolversParentTypes["Query"] = ResolversParentTypes["Query"], -> = ResolversObject<{ - dataCubeLatestIri?: Resolver< - ResolversTypes["String"], - ParentType, - ContextType, - RequireFields< - QueryDataCubeLatestIriArgs, - "sourceType" | "sourceUrl" | "cubeFilter" - > - >; - dataCubeUnversionedIri?: Resolver< - Maybe, - ParentType, - ContextType, - RequireFields< - QueryDataCubeUnversionedIriArgs, - "sourceType" | "sourceUrl" | "cubeFilter" - > - >; - dataCubeComponents?: Resolver< - ResolversTypes["DataCubeComponents"], - ParentType, - ContextType, - RequireFields< - QueryDataCubeComponentsArgs, - "sourceType" | "sourceUrl" | "locale" | "cubeFilter" - > - >; - dataCubeComponentTermsets?: Resolver< - Array, - ParentType, - ContextType, - RequireFields< - QueryDataCubeComponentTermsetsArgs, - "sourceType" | "sourceUrl" | "locale" | "cubeFilter" - > - >; - dataCubeMetadata?: Resolver< - ResolversTypes["DataCubeMetadata"], - ParentType, - ContextType, - RequireFields< - QueryDataCubeMetadataArgs, - "sourceType" | "sourceUrl" | "locale" | "cubeFilter" - > - >; - dataCubeObservations?: Resolver< - ResolversTypes["DataCubeObservations"], - ParentType, - ContextType, - RequireFields< - QueryDataCubeObservationsArgs, - "sourceType" | "sourceUrl" | "locale" | "cubeFilter" - > - >; - dataCubePreview?: Resolver< - ResolversTypes["DataCubePreview"], - ParentType, - ContextType, - RequireFields< - QueryDataCubePreviewArgs, - "sourceType" | "sourceUrl" | "locale" | "cubeFilter" - > - >; - possibleFilters?: Resolver< - Array, - ParentType, - ContextType, - RequireFields< - QueryPossibleFiltersArgs, - "sourceType" | "sourceUrl" | "cubeFilter" - > - >; - searchCubes?: Resolver< - Array, - ParentType, - ContextType, - RequireFields - >; - dataCubeDimensionGeoShapes?: Resolver< - Maybe, - ParentType, - ContextType, - RequireFields< - QueryDataCubeDimensionGeoShapesArgs, - "sourceType" | "sourceUrl" | "locale" | "cubeFilter" - > - >; +export type QueryResolvers = ResolversObject<{ + dataCubeLatestIri?: Resolver>; + dataCubeUnversionedIri?: Resolver, ParentType, ContextType, RequireFields>; + dataCubeComponents?: Resolver>; + dataCubeComponentTermsets?: Resolver, ParentType, ContextType, RequireFields>; + dataCubeMetadata?: Resolver>; + dataCubeObservations?: Resolver>; + dataCubePreview?: Resolver>; + possibleFilters?: Resolver, ParentType, ContextType, RequireFields>; + searchCubes?: Resolver, ParentType, ContextType, RequireFields>; + dataCubeDimensionGeoShapes?: Resolver, ParentType, ContextType, RequireFields>; }>; -export interface RawObservationScalarConfig - extends GraphQLScalarTypeConfig { - name: "RawObservation"; +export interface RawObservationScalarConfig extends GraphQLScalarTypeConfig { + name: 'RawObservation'; } -export type RelatedDimensionResolvers< - ContextType = VisualizeGraphQLContext, - ParentType extends - ResolversParentTypes["RelatedDimension"] = ResolversParentTypes["RelatedDimension"], -> = ResolversObject<{ - type?: Resolver< - ResolversTypes["RelatedDimensionType"], - ParentType, - ContextType - >; - id?: Resolver; +export type RelatedDimensionResolvers = ResolversObject<{ + type?: Resolver; + id?: Resolver; __isTypeOf?: IsTypeOfResolverFn; }>; -export interface SearchCubeScalarConfig - extends GraphQLScalarTypeConfig { - name: "SearchCube"; +export interface SearchCubeScalarConfig extends GraphQLScalarTypeConfig { + name: 'SearchCube'; } -export type SearchCubeResultResolvers< - ContextType = VisualizeGraphQLContext, - ParentType extends - ResolversParentTypes["SearchCubeResult"] = ResolversParentTypes["SearchCubeResult"], -> = ResolversObject<{ - score?: Resolver, ParentType, ContextType>; - cube?: Resolver; - highlightedTitle?: Resolver< - Maybe, - ParentType, - ContextType - >; - highlightedDescription?: Resolver< - Maybe, - ParentType, - ContextType - >; +export type SearchCubeResultResolvers = ResolversObject<{ + score?: Resolver, ParentType, ContextType>; + cube?: Resolver; + highlightedTitle?: Resolver, ParentType, ContextType>; + highlightedDescription?: Resolver, ParentType, ContextType>; __isTypeOf?: IsTypeOfResolverFn; }>; -export interface SingleFiltersScalarConfig - extends GraphQLScalarTypeConfig { - name: "SingleFilters"; +export interface SingleFiltersScalarConfig extends GraphQLScalarTypeConfig { + name: 'SingleFilters'; } -export interface TermsetScalarConfig - extends GraphQLScalarTypeConfig { - name: "Termset"; +export interface TermsetScalarConfig extends GraphQLScalarTypeConfig { + name: 'Termset'; } -export interface ValueIdentifierScalarConfig - extends GraphQLScalarTypeConfig { - name: "ValueIdentifier"; +export interface ValueIdentifierScalarConfig extends GraphQLScalarTypeConfig { + name: 'ValueIdentifier'; } -export interface ValuePositionScalarConfig - extends GraphQLScalarTypeConfig { - name: "ValuePosition"; +export interface ValuePositionScalarConfig extends GraphQLScalarTypeConfig { + name: 'ValuePosition'; } export type Resolvers = ResolversObject<{ @@ -774,20 +603,19 @@ export type Resolvers = ResolversObject<{ ValuePosition?: GraphQLScalarType; }>; + /** * @deprecated * Use "Resolvers" root object instead. If you wish to get "IResolvers", add "typesPrefix: I" to your config. */ -export type IResolvers = - Resolvers; -export type DirectiveResolvers = - ResolversObject<{ - safeUrl?: SafeUrlDirectiveResolver; - }>; +export type IResolvers = Resolvers; +export type DirectiveResolvers = ResolversObject<{ + safeUrl?: SafeUrlDirectiveResolver; +}>; + /** * @deprecated * Use "DirectiveResolvers" root object instead. If you wish to get "IDirectiveResolvers", add "typesPrefix: I" to your config. */ -export type IDirectiveResolvers = - DirectiveResolvers; +export type IDirectiveResolvers = DirectiveResolvers; \ No newline at end of file diff --git a/app/instrumentation.node.ts b/app/instrumentation.node.ts new file mode 100644 index 0000000000..23a1ad825d --- /dev/null +++ b/app/instrumentation.node.ts @@ -0,0 +1,16 @@ +// import { diag, DiagConsoleLogger, DiagLogLevel } from "@opentelemetry/api"; +import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http"; +import { resourceFromAttributes } from "@opentelemetry/resources"; +import { NodeSDK } from "@opentelemetry/sdk-node"; +import { BatchSpanProcessor } from "@opentelemetry/sdk-trace-node"; +import { ATTR_SERVICE_NAME } from "@opentelemetry/semantic-conventions"; + +// diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG); + +const sdk = new NodeSDK({ + resource: resourceFromAttributes({ + [ATTR_SERVICE_NAME]: "visualize", + }), + spanProcessor: new BatchSpanProcessor(new OTLPTraceExporter()), +}); +sdk.start(); diff --git a/app/instrumentation.ts b/app/instrumentation.ts new file mode 100644 index 0000000000..41630756bd --- /dev/null +++ b/app/instrumentation.ts @@ -0,0 +1,5 @@ +export async function register() { + if (process.env.NEXT_RUNTIME === "nodejs") { + await import("./instrumentation.node"); + } +} diff --git a/app/next.config.js b/app/next.config.js index 4d1ed96fab..9c70262275 100644 --- a/app/next.config.js +++ b/app/next.config.js @@ -42,6 +42,10 @@ module.exports = withPreconstruct( defaultLocale, }, + experimental: { + instrumentationHook: true, + }, + headers: async () => { const headers = []; diff --git a/app/package.json b/app/package.json index a14f20f690..3bec4ed796 100644 --- a/app/package.json +++ b/app/package.json @@ -47,6 +47,12 @@ "@next/bundle-analyzer": "^11.0.1", "@next/mdx": "^11.0.1", "@open-iframe-resizer/core": "1.6.0", + "@opentelemetry/api": "^1.9.0", + "@opentelemetry/exporter-trace-otlp-http": "^0.211.0", + "@opentelemetry/resources": "^2.5.0", + "@opentelemetry/sdk-node": "^0.211.0", + "@opentelemetry/sdk-trace-node": "^2.5.0", + "@opentelemetry/semantic-conventions": "^1.39.0", "@preconstruct/next": "^3.0.1", "@prisma/client": "^4.10.1", "@rdfjs/data-model": "^2.0.2", diff --git a/app/public/json-schema/chart-config.json b/app/public/json-schema/chart-config.json index 6e61db23b9..b3602ecd9f 100644 --- a/app/public/json-schema/chart-config.json +++ b/app/public/json-schema/chart-config.json @@ -17,7 +17,7 @@ "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -285,6 +285,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -433,6 +704,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -446,181 +719,39 @@ "const": "area", "description": "\"area\"" }, - "interactiveFiltersConfig": { - "anyOf": [ + "fields": { + "allOf": [ { "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showValues: boolean }> & Partial<{ customDomain: [number, number] }> & Partial<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>), color: ({ type: \"segment\", paletteId: string, colorMapping: { [K in string]: string } } | { type: \"single\", paletteId: string, color: string }) }", "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { + "x": { "allOf": [ { "type": "object", - "description": "{ active: boolean, componentIds: Array }", + "description": "{ componentId: string }", "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } + "componentId": { + "type": "string", + "description": "string" } }, "required": [ - "active", - "componentIds" + "componentId" ] }, { "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", + "description": "Partial<{ useAbbreviations: boolean }>", "properties": { - "defaultOpen": { + "useAbbreviations": { "type": "boolean", "description": "boolean" } } } ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, - "fields": { - "allOf": [ - { - "type": "object", - "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showValues: boolean }> & Partial<{ customDomain: [number, number] }> & Partial<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>), color: ({ type: \"segment\", paletteId: string, colorMapping: { [K in string]: string } } | { type: \"single\", paletteId: string, color: string }) }", - "properties": { - "x": { - "allOf": [ - { - "type": "object", - "description": "{ componentId: string }", - "properties": { - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "componentId" - ] - }, - { - "type": "object", - "description": "Partial<{ useAbbreviations: boolean }>", - "properties": { - "useAbbreviations": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ componentId: string } & Partial<{ useAbbreviations: boolean }>)" + "description": "({ componentId: string } & Partial<{ useAbbreviations: boolean }>)" }, "y": { "allOf": [ @@ -894,18 +1025,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -1173,6 +1303,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -1321,6 +1722,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -1334,153 +1737,11 @@ "const": "column", "description": "\"column\"" }, - "interactiveFiltersConfig": { - "anyOf": [ + "fields": { + "allOf": [ { "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, - "fields": { - "allOf": [ - { - "type": "object", - "description": "{ x: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showValues: boolean }> & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }> & Partial<{ customDomain: [number, number] }>), color: ({ type: \"segment\", paletteId: string, colorMapping: { [K in string]: string } } | { type: \"single\", paletteId: string, color: string }) }", + "description": "{ x: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showValues: boolean }> & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }> & Partial<{ customDomain: [number, number] }>), color: ({ type: \"segment\", paletteId: string, colorMapping: { [K in string]: string } } | { type: \"single\", paletteId: string, color: string }) }", "properties": { "x": { "allOf": [ @@ -1920,18 +2181,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -2199,117 +2459,388 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, - "limits": { + "interactiveFiltersConfig": { "type": "object", - "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", - "additionalProperties": { - "type": "array", - "description": "Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)>", - "items": { + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { "allOf": [ { "type": "object", - "description": "{ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") }", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", "properties": { - "related": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { "type": "array", - "description": "Array<{ dimensionId: string, value: string }>", + "description": "Array", "items": { - "type": "object", - "description": "{ dimensionId: string, value: string }", - "properties": { - "dimensionId": { - "type": "string", - "description": "string" - }, - "value": { - "type": "string", - "description": "string" - } - }, - "required": [ - "dimensionId", - "value" - ] + "type": "string", + "description": "string" } }, - "color": { - "type": "string", - "description": "string" - }, - "lineType": { - "anyOf": [ - { - "const": "dashed", - "description": "\"dashed\"" - }, - { - "const": "solid", - "description": "\"solid\"" + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" } - ], - "description": "(\"dashed\" | \"solid\")" + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } } }, "required": [ - "related", - "color", - "lineType" + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" ] }, { "type": "object", - "description": "Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>", + "description": "Partial<{ defaultOpen: boolean }>", "properties": { - "symbolType": { - "anyOf": [ - { - "const": "cross", - "description": "\"cross\"" - }, - { - "const": "circle", - "description": "\"circle\"" - }, - { - "const": "triangle", - "description": "\"triangle\"" - } - ], - "description": "(\"cross\" | \"circle\" | \"triangle\")" + "defaultOpen": { + "type": "boolean", + "description": "boolean" } } } ], - "description": "({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)" + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] } - } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] }, - "conversionUnitsByComponentId": { - "type": "object", - "description": "{ [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }", - "additionalProperties": { + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { "type": "object", - "description": "{ multiplier: number, labels: { de: string, fr: string, it: string, en: string } }", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", "properties": { - "multiplier": { - "type": "number", - "description": "number" + "key": { + "type": "string", + "description": "string" }, - "labels": { - "type": "object", - "description": "{ de: string, fr: string, it: string, en: string }", - "properties": { - "de": { - "type": "string", - "description": "string" - }, - "fr": { - "type": "string", - "description": "string" - }, - "it": { - "type": "string", + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, + "limits": { + "type": "object", + "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", + "additionalProperties": { + "type": "array", + "description": "Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") }", + "properties": { + "related": { + "type": "array", + "description": "Array<{ dimensionId: string, value: string }>", + "items": { + "type": "object", + "description": "{ dimensionId: string, value: string }", + "properties": { + "dimensionId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "dimensionId", + "value" + ] + } + }, + "color": { + "type": "string", + "description": "string" + }, + "lineType": { + "anyOf": [ + { + "const": "dashed", + "description": "\"dashed\"" + }, + { + "const": "solid", + "description": "\"solid\"" + } + ], + "description": "(\"dashed\" | \"solid\")" + } + }, + "required": [ + "related", + "color", + "lineType" + ] + }, + { + "type": "object", + "description": "Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>", + "properties": { + "symbolType": { + "anyOf": [ + { + "const": "cross", + "description": "\"cross\"" + }, + { + "const": "circle", + "description": "\"circle\"" + }, + { + "const": "triangle", + "description": "\"triangle\"" + } + ], + "description": "(\"cross\" | \"circle\" | \"triangle\")" + } + } + } + ], + "description": "({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)" + } + } + }, + "conversionUnitsByComponentId": { + "type": "object", + "description": "{ [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }", + "additionalProperties": { + "type": "object", + "description": "{ multiplier: number, labels: { de: string, fr: string, it: string, en: string } }", + "properties": { + "multiplier": { + "type": "number", + "description": "number" + }, + "labels": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", "description": "string" }, "en": { @@ -2347,6 +2878,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -2360,148 +2893,6 @@ "const": "bar", "description": "\"bar\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -2932,18 +3323,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -3189,26 +3579,297 @@ } }, "required": [ - "iri", - "filters" + "iri", + "filters" + ] + }, + { + "type": "object", + "description": "Partial<{ joinBy: Array }>", + "properties": { + "joinBy": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" + } + }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" ] }, - { - "type": "object", - "description": "Partial<{ joinBy: Array }>", - "properties": { - "joinBy": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" } - } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" } - ], - "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] } }, "limits": { @@ -3277,242 +3938,102 @@ "anyOf": [ { "const": "cross", - "description": "\"cross\"" - }, - { - "const": "circle", - "description": "\"circle\"" - }, - { - "const": "triangle", - "description": "\"triangle\"" - } - ], - "description": "(\"cross\" | \"circle\" | \"triangle\")" - } - } - } - ], - "description": "({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)" - } - } - }, - "conversionUnitsByComponentId": { - "type": "object", - "description": "{ [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }", - "additionalProperties": { - "type": "object", - "description": "{ multiplier: number, labels: { de: string, fr: string, it: string, en: string } }", - "properties": { - "multiplier": { - "type": "number", - "description": "number" - }, - "labels": { - "type": "object", - "description": "{ de: string, fr: string, it: string, en: string }", - "properties": { - "de": { - "type": "string", - "description": "string" - }, - "fr": { - "type": "string", - "description": "string" - }, - "it": { - "type": "string", - "description": "string" - }, - "en": { - "type": "string", - "description": "string" - } - }, - "required": [ - "de", - "fr", - "it", - "en" - ] - } - }, - "required": [ - "multiplier", - "labels" - ] - } - }, - "activeField": { - "anyOf": [ - { - "type": "string", - "description": "string" - }, - {} - ], - "description": "(string | undefined)" - } - }, - "required": [ - "key", - "version", - "meta", - "cubes", - "limits", - "conversionUnitsByComponentId", - "activeField" - ] - }, - { - "type": "object", - "description": "LineConfig", - "properties": { - "chartType": { - "const": "line", - "description": "\"line\"" - }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ + "description": "\"cross\"" + }, { - "const": "identity", - "description": "\"identity\"" + "const": "circle", + "description": "\"circle\"" }, { - "const": "percent", - "description": "\"percent\"" + "const": "triangle", + "description": "\"triangle\"" } ], - "description": "(\"identity\" | \"percent\")" + "description": "(\"cross\" | \"circle\" | \"triangle\")" } - }, - "required": [ - "active", - "type" - ] + } } + ], + "description": "({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)" + } + } + }, + "conversionUnitsByComponentId": { + "type": "object", + "description": "{ [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }", + "additionalProperties": { + "type": "object", + "description": "{ multiplier: number, labels: { de: string, fr: string, it: string, en: string } }", + "properties": { + "multiplier": { + "type": "number", + "description": "number" }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] + "labels": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + } + }, + "required": [ + "multiplier", + "labels" + ] + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" }, {} ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "interactiveFiltersConfig", + "annotations", + "limits", + "conversionUnitsByComponentId", + "activeField" + ] + }, + { + "type": "object", + "description": "LineConfig", + "properties": { + "chartType": { + "const": "line", + "description": "\"line\"" }, "fields": { "allOf": [ @@ -3838,18 +4359,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -4111,10 +4631,281 @@ "description": "string" } } - } + } + } + ], + "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" + } + }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" } - ], - "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] } }, "limits": { @@ -4265,6 +5056,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -4278,148 +5071,6 @@ "const": "map", "description": "\"map\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "type": "object", "description": "Partial<{ areaLayer: { componentId: string, color: (({ type: \"categorical\", componentId: string, paletteId: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, paletteId: string } & Partial<{ paletteType: (\"sequential\" | \"diverging\"), colors: Array }> & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })) }, symbolLayer: { componentId: string, measureId: string, color: (({ type: \"fixed\", value: string } & { opacity: number }) | ({ type: \"categorical\", componentId: string, paletteId: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, paletteId: string } & Partial<{ paletteType: (\"sequential\" | \"diverging\"), colors: Array }> & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })) }, animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", @@ -5141,19 +5792,18 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields", "baseLayer" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -5399,26 +6049,297 @@ } }, "required": [ - "iri", - "filters" + "iri", + "filters" + ] + }, + { + "type": "object", + "description": "Partial<{ joinBy: Array }>", + "properties": { + "joinBy": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" + } + }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" ] }, - { - "type": "object", - "description": "Partial<{ joinBy: Array }>", - "properties": { - "joinBy": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" } - } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" } - ], - "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] } }, "limits": { @@ -5494,235 +6415,95 @@ "description": "\"circle\"" }, { - "const": "triangle", - "description": "\"triangle\"" - } - ], - "description": "(\"cross\" | \"circle\" | \"triangle\")" - } - } - } - ], - "description": "({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)" - } - } - }, - "conversionUnitsByComponentId": { - "type": "object", - "description": "{ [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }", - "additionalProperties": { - "type": "object", - "description": "{ multiplier: number, labels: { de: string, fr: string, it: string, en: string } }", - "properties": { - "multiplier": { - "type": "number", - "description": "number" - }, - "labels": { - "type": "object", - "description": "{ de: string, fr: string, it: string, en: string }", - "properties": { - "de": { - "type": "string", - "description": "string" - }, - "fr": { - "type": "string", - "description": "string" - }, - "it": { - "type": "string", - "description": "string" - }, - "en": { - "type": "string", - "description": "string" - } - }, - "required": [ - "de", - "fr", - "it", - "en" - ] - } - }, - "required": [ - "multiplier", - "labels" - ] - } - }, - "activeField": { - "anyOf": [ - { - "type": "string", - "description": "string" - }, - {} - ], - "description": "(string | undefined)" - } - }, - "required": [ - "key", - "version", - "meta", - "cubes", - "limits", - "conversionUnitsByComponentId", - "activeField" - ] - }, - { - "type": "object", - "description": "PieConfig", - "properties": { - "chartType": { - "const": "pie", - "description": "\"pie\"" - }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" + "const": "triangle", + "description": "\"triangle\"" } ], - "description": "(\"identity\" | \"percent\")" + "description": "(\"cross\" | \"circle\" | \"triangle\")" } - }, - "required": [ - "active", - "type" - ] + } } + ], + "description": "({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)" + } + } + }, + "conversionUnitsByComponentId": { + "type": "object", + "description": "{ [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }", + "additionalProperties": { + "type": "object", + "description": "{ multiplier: number, labels: { de: string, fr: string, it: string, en: string } }", + "properties": { + "multiplier": { + "type": "number", + "description": "number" }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] + "labels": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + } + }, + "required": [ + "multiplier", + "labels" + ] + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" }, {} ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "interactiveFiltersConfig", + "annotations", + "limits", + "conversionUnitsByComponentId", + "activeField" + ] + }, + { + "type": "object", + "description": "PieConfig", + "properties": { + "chartType": { + "const": "pie", + "description": "\"pie\"" }, "fields": { "allOf": [ @@ -5999,18 +6780,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -6274,8 +7054,279 @@ } } } - ], - "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" + ], + "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" + } + }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] } }, "limits": { @@ -6426,6 +7477,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -6439,148 +7492,6 @@ "const": "scatterplot", "description": "\"scatterplot\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -6847,18 +7758,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -7104,26 +8014,297 @@ } }, "required": [ - "iri", - "filters" + "iri", + "filters" + ] + }, + { + "type": "object", + "description": "Partial<{ joinBy: Array }>", + "properties": { + "joinBy": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" + } + }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" ] }, - { - "type": "object", - "description": "Partial<{ joinBy: Array }>", - "properties": { - "joinBy": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" } - } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" } - ], - "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] } }, "limits": { @@ -7274,6 +8455,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -7577,7 +8760,7 @@ }, "settings": { "type": "object", - "description": "{ showSearch: boolean, showAllRows: boolean }", + "description": "{ showSearch: boolean, showAllRows: boolean, limitColumnWidths: boolean }", "properties": { "showSearch": { "type": "boolean", @@ -7586,11 +8769,44 @@ "showAllRows": { "type": "boolean", "description": "boolean" + }, + "limitColumnWidths": { + "type": "boolean", + "description": "boolean" } }, "required": [ "showSearch", - "showAllRows" + "showAllRows", + "limitColumnWidths" + ] + }, + "links": { + "type": "object", + "description": "{ enabled: boolean, baseUrl: string, componentId: string, targetComponentId: string }", + "properties": { + "enabled": { + "type": "boolean", + "description": "boolean" + }, + "baseUrl": { + "type": "string", + "description": "string" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "targetComponentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "enabled", + "baseUrl", + "componentId", + "targetComponentId" ] }, "sorting": { @@ -7687,22 +8903,21 @@ "sortingOrder" ] } - }, - "interactiveFiltersConfig": {} + } }, "required": [ "chartType", "fields", "settings", - "sorting", - "interactiveFiltersConfig" + "links", + "sorting" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)" } ], - "description": "(({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig))" + "description": "(({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig))" }, { "anyOf": [ @@ -7710,7 +8925,7 @@ "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -7972,10 +9187,281 @@ "description": "string" } } - } + } + } + ], + "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" + } + }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" } - ], - "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] } }, "limits": { @@ -8126,6 +9612,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -8221,164 +9709,21 @@ "y", "color" ] - }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" } }, "required": [ "chartType", - "fields", - "interactiveFiltersConfig" + "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -8624,26 +9969,297 @@ } }, "required": [ - "iri", - "filters" + "iri", + "filters" + ] + }, + { + "type": "object", + "description": "Partial<{ joinBy: Array }>", + "properties": { + "joinBy": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" + } + }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" ] }, - { - "type": "object", - "description": "Partial<{ joinBy: Array }>", - "properties": { - "joinBy": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" } - } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" } - ], - "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] } }, "limits": { @@ -8794,6 +10410,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -8890,164 +10508,21 @@ "y", "color" ] - }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" } }, "required": [ "chartType", - "fields", - "interactiveFiltersConfig" + "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -9287,32 +10762,303 @@ ], "description": "(FilterValueRange & Partial<{ position: number }>)" } - ], - "description": "FilterValue" + ], + "description": "FilterValue" + } + } + }, + "required": [ + "iri", + "filters" + ] + }, + { + "type": "object", + "description": "Partial<{ joinBy: Array }>", + "properties": { + "joinBy": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" + } + }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" } } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" }, - "required": [ - "iri", - "filters" - ] + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } }, - { - "type": "object", - "description": "Partial<{ joinBy: Array }>", - "properties": { - "joinBy": { - "type": "array", - "description": "Array", - "items": { + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { "type": "string", "description": "string" } - } + }, + "required": [ + "componentId", + "value" + ] } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" } - ], - "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] } }, "limits": { @@ -9463,6 +11209,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -9573,164 +11321,21 @@ "y", "color" ] - }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" } }, "required": [ "chartType", - "fields", - "interactiveFiltersConfig" + "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)" } ], - "description": "(({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig))" + "description": "(({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig))" } ], - "description": "((({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)) | (({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)))" + "description": "((({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)) | (({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)))" } } } \ No newline at end of file diff --git a/app/public/json-schema/configurator-state.json b/app/public/json-schema/configurator-state.json index 2188217173..a16e7d96a5 100644 --- a/app/public/json-schema/configurator-state.json +++ b/app/public/json-schema/configurator-state.json @@ -538,7 +538,7 @@ }, "chartConfigs": { "type": "array", - "description": "Array<((({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)) | (({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)))>", + "description": "Array<((({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)) | (({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)))>", "items": { "anyOf": [ { @@ -547,7 +547,7 @@ "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -815,6 +815,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -963,6 +1234,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -976,148 +1249,6 @@ "const": "area", "description": "\"area\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -1424,18 +1555,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -1703,6 +1833,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -1851,6 +2252,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -1864,148 +2267,6 @@ "const": "column", "description": "\"column\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -2450,18 +2711,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -2729,6 +2989,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -2877,6 +3408,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -2890,148 +3423,6 @@ "const": "bar", "description": "\"bar\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -3462,18 +3853,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -3741,6 +4131,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -3889,6 +4550,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -3902,148 +4565,6 @@ "const": "line", "description": "\"line\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -4368,18 +4889,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -4647,6 +5167,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -4795,6 +5586,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -4808,148 +5601,6 @@ "const": "map", "description": "\"map\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "type": "object", "description": "Partial<{ areaLayer: { componentId: string, color: (({ type: \"categorical\", componentId: string, paletteId: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, paletteId: string } & Partial<{ paletteType: (\"sequential\" | \"diverging\"), colors: Array }> & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })) }, symbolLayer: { componentId: string, measureId: string, color: (({ type: \"fixed\", value: string } & { opacity: number }) | ({ type: \"categorical\", componentId: string, paletteId: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, paletteId: string } & Partial<{ paletteType: (\"sequential\" | \"diverging\"), colors: Array }> & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })) }, animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", @@ -5671,19 +6322,18 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields", "baseLayer" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -5951,6 +6601,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -6099,6 +7020,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -6112,148 +7035,6 @@ "const": "pie", "description": "\"pie\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -6529,18 +7310,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -6808,6 +7588,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -6956,6 +8007,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -6969,183 +8022,41 @@ "const": "scatterplot", "description": "\"scatterplot\"" }, - "interactiveFiltersConfig": { - "anyOf": [ + "fields": { + "allOf": [ { "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), color: ({ type: \"segment\", paletteId: string, colorMapping: { [K in string]: string } } | { type: \"single\", paletteId: string, color: string }) }", "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { + "x": { "allOf": [ { "type": "object", - "description": "{ active: boolean, componentIds: Array }", + "description": "{ componentId: string }", "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } + "componentId": { + "type": "string", + "description": "string" } }, "required": [ - "active", - "componentIds" + "componentId" ] }, { "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", + "description": "Partial<{ useAbbreviations: boolean }>", "properties": { - "defaultOpen": { + "useAbbreviations": { "type": "boolean", "description": "boolean" } } } ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" + "description": "({ componentId: string } & Partial<{ useAbbreviations: boolean }>)" }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, - "fields": { - "allOf": [ - { - "type": "object", - "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), color: ({ type: \"segment\", paletteId: string, colorMapping: { [K in string]: string } } | { type: \"single\", paletteId: string, color: string }) }", - "properties": { - "x": { - "allOf": [ - { - "type": "object", - "description": "{ componentId: string }", - "properties": { - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "componentId" - ] - }, - { - "type": "object", - "description": "Partial<{ useAbbreviations: boolean }>", - "properties": { - "useAbbreviations": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ componentId: string } & Partial<{ useAbbreviations: boolean }>)" - }, - "y": { + "y": { "allOf": [ { "type": "object", @@ -7377,18 +8288,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -7656,6 +8566,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -7804,6 +8985,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -8107,7 +9290,7 @@ }, "settings": { "type": "object", - "description": "{ showSearch: boolean, showAllRows: boolean }", + "description": "{ showSearch: boolean, showAllRows: boolean, limitColumnWidths: boolean }", "properties": { "showSearch": { "type": "boolean", @@ -8116,11 +9299,44 @@ "showAllRows": { "type": "boolean", "description": "boolean" + }, + "limitColumnWidths": { + "type": "boolean", + "description": "boolean" } }, "required": [ "showSearch", - "showAllRows" + "showAllRows", + "limitColumnWidths" + ] + }, + "links": { + "type": "object", + "description": "{ enabled: boolean, baseUrl: string, componentId: string, targetComponentId: string }", + "properties": { + "enabled": { + "type": "boolean", + "description": "boolean" + }, + "baseUrl": { + "type": "string", + "description": "string" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "targetComponentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "enabled", + "baseUrl", + "componentId", + "targetComponentId" ] }, "sorting": { @@ -8217,22 +9433,21 @@ "sortingOrder" ] } - }, - "interactiveFiltersConfig": {} + } }, "required": [ "chartType", "fields", "settings", - "sorting", - "interactiveFiltersConfig" + "links", + "sorting" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)" } ], - "description": "(({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig))" + "description": "(({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig))" }, { "anyOf": [ @@ -8240,7 +9455,7 @@ "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -8508,6 +9723,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -8656,6 +10142,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -8751,164 +10239,21 @@ "y", "color" ] - }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" } }, "required": [ "chartType", - "fields", - "interactiveFiltersConfig" + "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -9176,6 +10521,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -9324,6 +10940,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -9420,164 +11038,21 @@ "y", "color" ] - }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" } }, "required": [ "chartType", - "fields", - "interactiveFiltersConfig" + "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -9845,6 +11320,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -9993,6 +11739,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -10103,164 +11851,21 @@ "y", "color" ] - }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" } }, "required": [ "chartType", - "fields", - "interactiveFiltersConfig" + "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)" } ], - "description": "(({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig))" + "description": "(({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig))" } ], - "description": "((({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)) | (({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)))" + "description": "((({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)) | (({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)))" } }, "activeChartKey": { @@ -10839,7 +12444,7 @@ }, "chartConfigs": { "type": "array", - "description": "Array<((({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)) | (({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)))>", + "description": "Array<((({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)) | (({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)))>", "items": { "anyOf": [ { @@ -10848,7 +12453,7 @@ "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -11116,6 +12721,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -11264,6 +13140,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -11277,148 +13155,6 @@ "const": "area", "description": "\"area\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -11725,18 +13461,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -12004,6 +13739,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -12152,6 +14158,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -12165,148 +14173,6 @@ "const": "column", "description": "\"column\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -12751,18 +14617,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -13030,6 +14895,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -13178,6 +15314,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -13191,148 +15329,6 @@ "const": "bar", "description": "\"bar\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -13763,18 +15759,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -14042,6 +16037,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -14190,6 +16456,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -14203,148 +16471,6 @@ "const": "line", "description": "\"line\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -14669,18 +16795,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -14948,6 +17073,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -15096,6 +17492,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -15109,148 +17507,6 @@ "const": "map", "description": "\"map\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "type": "object", "description": "Partial<{ areaLayer: { componentId: string, color: (({ type: \"categorical\", componentId: string, paletteId: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, paletteId: string } & Partial<{ paletteType: (\"sequential\" | \"diverging\"), colors: Array }> & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })) }, symbolLayer: { componentId: string, measureId: string, color: (({ type: \"fixed\", value: string } & { opacity: number }) | ({ type: \"categorical\", componentId: string, paletteId: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, paletteId: string } & Partial<{ paletteType: (\"sequential\" | \"diverging\"), colors: Array }> & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })) }, animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", @@ -15972,19 +18228,18 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields", "baseLayer" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -16252,6 +18507,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -16400,6 +18926,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -16413,148 +18941,6 @@ "const": "pie", "description": "\"pie\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -16830,18 +19216,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -17109,6 +19494,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -17257,6 +19913,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -17270,148 +19928,6 @@ "const": "scatterplot", "description": "\"scatterplot\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -17678,18 +20194,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -17957,6 +20472,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -18105,6 +20891,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -18408,7 +21196,7 @@ }, "settings": { "type": "object", - "description": "{ showSearch: boolean, showAllRows: boolean }", + "description": "{ showSearch: boolean, showAllRows: boolean, limitColumnWidths: boolean }", "properties": { "showSearch": { "type": "boolean", @@ -18417,11 +21205,44 @@ "showAllRows": { "type": "boolean", "description": "boolean" + }, + "limitColumnWidths": { + "type": "boolean", + "description": "boolean" } }, "required": [ "showSearch", - "showAllRows" + "showAllRows", + "limitColumnWidths" + ] + }, + "links": { + "type": "object", + "description": "{ enabled: boolean, baseUrl: string, componentId: string, targetComponentId: string }", + "properties": { + "enabled": { + "type": "boolean", + "description": "boolean" + }, + "baseUrl": { + "type": "string", + "description": "string" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "targetComponentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "enabled", + "baseUrl", + "componentId", + "targetComponentId" ] }, "sorting": { @@ -18518,22 +21339,21 @@ "sortingOrder" ] } - }, - "interactiveFiltersConfig": {} + } }, "required": [ "chartType", "fields", "settings", - "sorting", - "interactiveFiltersConfig" + "links", + "sorting" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)" } ], - "description": "(({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig))" + "description": "(({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig))" }, { "anyOf": [ @@ -18541,7 +21361,7 @@ "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -18809,6 +21629,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -18957,6 +22048,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -19052,164 +22145,21 @@ "y", "color" ] - }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" } }, "required": [ "chartType", - "fields", - "interactiveFiltersConfig" + "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -19477,6 +22427,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -19625,6 +22846,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -19721,164 +22944,21 @@ "y", "color" ] - }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" } }, "required": [ "chartType", - "fields", - "interactiveFiltersConfig" + "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -20146,6 +23226,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -20294,6 +23645,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -20404,164 +23757,21 @@ "y", "color" ] - }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" } }, "required": [ "chartType", - "fields", - "interactiveFiltersConfig" + "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)" } ], - "description": "(({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig))" + "description": "(({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig))" } ], - "description": "((({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)) | (({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)))" + "description": "((({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)) | (({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)))" } }, "activeChartKey": { @@ -21140,7 +24350,7 @@ }, "chartConfigs": { "type": "array", - "description": "Array<((({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)) | (({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)))>", + "description": "Array<((({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)) | (({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)))>", "items": { "anyOf": [ { @@ -21149,7 +24359,7 @@ "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -21417,6 +24627,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -21565,6 +25046,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -21578,148 +25061,6 @@ "const": "area", "description": "\"area\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -22026,18 +25367,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -22305,6 +25645,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -22453,6 +26064,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -22466,148 +26079,6 @@ "const": "column", "description": "\"column\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -23052,18 +26523,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -23331,6 +26801,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -23479,6 +27220,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -23492,148 +27235,6 @@ "const": "bar", "description": "\"bar\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -24064,18 +27665,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -24343,6 +27943,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -24491,6 +28362,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -24504,148 +28377,6 @@ "const": "line", "description": "\"line\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -24970,18 +28701,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -25249,6 +28979,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -25397,6 +29398,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -25410,148 +29413,6 @@ "const": "map", "description": "\"map\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "type": "object", "description": "Partial<{ areaLayer: { componentId: string, color: (({ type: \"categorical\", componentId: string, paletteId: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, paletteId: string } & Partial<{ paletteType: (\"sequential\" | \"diverging\"), colors: Array }> & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })) }, symbolLayer: { componentId: string, measureId: string, color: (({ type: \"fixed\", value: string } & { opacity: number }) | ({ type: \"categorical\", componentId: string, paletteId: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, paletteId: string } & Partial<{ paletteType: (\"sequential\" | \"diverging\"), colors: Array }> & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })) }, animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", @@ -26273,19 +30134,18 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields", "baseLayer" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -26553,6 +30413,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -26701,6 +30832,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -26714,148 +30847,6 @@ "const": "pie", "description": "\"pie\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -27131,18 +31122,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -27410,6 +31400,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -27558,6 +31819,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -27571,148 +31834,6 @@ "const": "scatterplot", "description": "\"scatterplot\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -27979,18 +32100,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -28258,6 +32378,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -28406,6 +32797,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -28709,7 +33102,7 @@ }, "settings": { "type": "object", - "description": "{ showSearch: boolean, showAllRows: boolean }", + "description": "{ showSearch: boolean, showAllRows: boolean, limitColumnWidths: boolean }", "properties": { "showSearch": { "type": "boolean", @@ -28718,11 +33111,44 @@ "showAllRows": { "type": "boolean", "description": "boolean" + }, + "limitColumnWidths": { + "type": "boolean", + "description": "boolean" } }, "required": [ "showSearch", - "showAllRows" + "showAllRows", + "limitColumnWidths" + ] + }, + "links": { + "type": "object", + "description": "{ enabled: boolean, baseUrl: string, componentId: string, targetComponentId: string }", + "properties": { + "enabled": { + "type": "boolean", + "description": "boolean" + }, + "baseUrl": { + "type": "string", + "description": "string" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "targetComponentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "enabled", + "baseUrl", + "componentId", + "targetComponentId" ] }, "sorting": { @@ -28819,22 +33245,21 @@ "sortingOrder" ] } - }, - "interactiveFiltersConfig": {} + } }, "required": [ "chartType", "fields", "settings", - "sorting", - "interactiveFiltersConfig" + "links", + "sorting" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)" } ], - "description": "(({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig))" + "description": "(({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig))" }, { "anyOf": [ @@ -28842,7 +33267,7 @@ "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -29110,6 +33535,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -29258,6 +33954,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -29353,164 +34051,21 @@ "y", "color" ] - }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" } }, "required": [ "chartType", - "fields", - "interactiveFiltersConfig" + "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -29778,6 +34333,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -29926,6 +34752,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -30022,164 +34850,21 @@ "y", "color" ] - }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" } }, "required": [ "chartType", - "fields", - "interactiveFiltersConfig" + "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -30447,6 +35132,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -30595,6 +35551,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -30705,164 +35663,21 @@ "y", "color" ] - }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" } }, "required": [ "chartType", - "fields", - "interactiveFiltersConfig" + "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)" } ], - "description": "(({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig))" + "description": "(({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig))" } ], - "description": "((({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)) | (({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)))" + "description": "((({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)) | (({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)))" } }, "activeChartKey": { @@ -31441,7 +36256,7 @@ }, "chartConfigs": { "type": "array", - "description": "Array<((({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)) | (({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)))>", + "description": "Array<((({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)) | (({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)))>", "items": { "anyOf": [ { @@ -31450,7 +36265,7 @@ "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -31718,6 +36533,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -31866,6 +36952,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -31879,148 +36967,6 @@ "const": "area", "description": "\"area\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -32327,18 +37273,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -32606,6 +37551,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -32754,6 +37970,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -32767,148 +37985,6 @@ "const": "column", "description": "\"column\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -33353,18 +38429,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -33632,6 +38707,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -33780,6 +39126,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -33793,148 +39141,6 @@ "const": "bar", "description": "\"bar\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -34365,18 +39571,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -34644,6 +39849,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -34792,6 +40268,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -34805,148 +40283,6 @@ "const": "line", "description": "\"line\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -35271,18 +40607,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -35550,6 +40885,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -35698,6 +41304,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -35711,148 +41319,6 @@ "const": "map", "description": "\"map\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "type": "object", "description": "Partial<{ areaLayer: { componentId: string, color: (({ type: \"categorical\", componentId: string, paletteId: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, paletteId: string } & Partial<{ paletteType: (\"sequential\" | \"diverging\"), colors: Array }> & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })) }, symbolLayer: { componentId: string, measureId: string, color: (({ type: \"fixed\", value: string } & { opacity: number }) | ({ type: \"categorical\", componentId: string, paletteId: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, paletteId: string } & Partial<{ paletteType: (\"sequential\" | \"diverging\"), colors: Array }> & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })) }, animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", @@ -36574,19 +42040,18 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields", "baseLayer" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -36854,6 +42319,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -37002,6 +42738,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -37015,148 +42753,6 @@ "const": "pie", "description": "\"pie\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -37432,18 +43028,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -37711,6 +43306,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -37859,6 +43725,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -37872,148 +43740,6 @@ "const": "scatterplot", "description": "\"scatterplot\"" }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" - }, "fields": { "allOf": [ { @@ -38280,18 +44006,17 @@ }, "required": [ "chartType", - "interactiveFiltersConfig", "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -38559,6 +44284,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -38707,6 +44703,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -39010,7 +45008,7 @@ }, "settings": { "type": "object", - "description": "{ showSearch: boolean, showAllRows: boolean }", + "description": "{ showSearch: boolean, showAllRows: boolean, limitColumnWidths: boolean }", "properties": { "showSearch": { "type": "boolean", @@ -39019,11 +45017,44 @@ "showAllRows": { "type": "boolean", "description": "boolean" + }, + "limitColumnWidths": { + "type": "boolean", + "description": "boolean" } }, "required": [ "showSearch", - "showAllRows" + "showAllRows", + "limitColumnWidths" + ] + }, + "links": { + "type": "object", + "description": "{ enabled: boolean, baseUrl: string, componentId: string, targetComponentId: string }", + "properties": { + "enabled": { + "type": "boolean", + "description": "boolean" + }, + "baseUrl": { + "type": "string", + "description": "string" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "targetComponentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "enabled", + "baseUrl", + "componentId", + "targetComponentId" ] }, "sorting": { @@ -39120,22 +45151,21 @@ "sortingOrder" ] } - }, - "interactiveFiltersConfig": {} + } }, "required": [ "chartType", "fields", "settings", - "sorting", - "interactiveFiltersConfig" + "links", + "sorting" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)" } ], - "description": "(({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig))" + "description": "(({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig))" }, { "anyOf": [ @@ -39143,7 +45173,7 @@ "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -39411,6 +45441,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -39559,6 +45860,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -39654,164 +45957,21 @@ "y", "color" ] - }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" } }, "required": [ "chartType", - "fields", - "interactiveFiltersConfig" + "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -40079,6 +46239,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -40227,6 +46658,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -40323,164 +46756,21 @@ "y", "color" ] - }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" } }, "required": [ "chartType", - "fields", - "interactiveFiltersConfig" + "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig)" }, { "allOf": [ { "type": "object", - "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", + "description": "{ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) }", "properties": { "key": { "type": "string", @@ -40748,6 +47038,277 @@ "description": "({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)" } }, + "interactiveFiltersConfig": { + "type": "object", + "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", + "properties": { + "legend": { + "type": "object", + "description": "{ active: boolean, componentId: string }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + } + }, + "required": [ + "active", + "componentId" + ] + }, + "timeRange": { + "type": "object", + "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ type: \"range\", from: string, to: string }", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + } + }, + "required": [ + "active", + "componentId", + "presets" + ] + }, + "dataFilters": { + "allOf": [ + { + "type": "object", + "description": "{ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "defaultValueOverrides": { + "type": "object", + "description": "{ [K in string]: Array }", + "additionalProperties": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "filterTypes": { + "type": "object", + "description": "{ [K in string]: (\"single\" | \"multi\") }", + "additionalProperties": { + "anyOf": [ + { + "const": "single", + "description": "\"single\"" + }, + { + "const": "multi", + "description": "\"multi\"" + } + ], + "description": "(\"single\" | \"multi\")" + } + } + }, + "required": [ + "active", + "componentIds", + "defaultValueOverrides", + "filterTypes" + ] + }, + { + "type": "object", + "description": "Partial<{ defaultOpen: boolean }>", + "properties": { + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>)" + }, + "calculation": { + "type": "object", + "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "identity", + "description": "\"identity\"" + }, + { + "const": "percent", + "description": "\"percent\"" + } + ], + "description": "(\"identity\" | \"percent\")" + } + }, + "required": [ + "active", + "type" + ] + } + }, + "required": [ + "legend", + "timeRange", + "dataFilters", + "calculation" + ] + }, + "annotations": { + "type": "array", + "description": "Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>", + "items": { + "type": "object", + "description": "{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "type": { + "const": "highlight", + "description": "\"highlight\"" + }, + "targets": { + "type": "array", + "description": "Array<{ componentId: string, value: string }>", + "items": { + "type": "object", + "description": "{ componentId: string, value: string }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "componentId", + "value" + ] + } + }, + "text": { + "type": "object", + "description": "{ de: string, fr: string, it: string, en: string }", + "properties": { + "de": { + "type": "string", + "description": "string" + }, + "fr": { + "type": "string", + "description": "string" + }, + "it": { + "type": "string", + "description": "string" + }, + "en": { + "type": "string", + "description": "string" + } + }, + "required": [ + "de", + "fr", + "it", + "en" + ] + }, + "highlightType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "filled", + "description": "\"filled\"" + } + ], + "description": "(\"none\" | \"filled\")" + }, + "color": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + }, + "defaultOpen": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "key", + "type", + "targets", + "text", + "highlightType", + "color", + "defaultOpen" + ] + } + }, "limits": { "type": "object", "description": "{ [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }", @@ -40896,6 +47457,8 @@ "version", "meta", "cubes", + "interactiveFiltersConfig", + "annotations", "limits", "conversionUnitsByComponentId", "activeField" @@ -41006,164 +47569,21 @@ "y", "color" ] - }, - "interactiveFiltersConfig": { - "anyOf": [ - { - "type": "object", - "description": "{ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }", - "properties": { - "legend": { - "type": "object", - "description": "{ active: boolean, componentId: string }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - } - }, - "required": [ - "active", - "componentId" - ] - }, - "timeRange": { - "type": "object", - "description": "{ active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentId": { - "type": "string", - "description": "string" - }, - "presets": { - "type": "object", - "description": "{ type: \"range\", from: string, to: string }", - "properties": { - "type": { - "const": "range", - "description": "\"range\"" - }, - "from": { - "type": "string", - "description": "string" - }, - "to": { - "type": "string", - "description": "string" - } - }, - "required": [ - "type", - "from", - "to" - ] - } - }, - "required": [ - "active", - "componentId", - "presets" - ] - }, - "dataFilters": { - "allOf": [ - { - "type": "object", - "description": "{ active: boolean, componentIds: Array }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "componentIds": { - "type": "array", - "description": "Array", - "items": { - "type": "string", - "description": "string" - } - } - }, - "required": [ - "active", - "componentIds" - ] - }, - { - "type": "object", - "description": "Partial<{ defaultOpen: boolean }>", - "properties": { - "defaultOpen": { - "type": "boolean", - "description": "boolean" - } - } - } - ], - "description": "({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>)" - }, - "calculation": { - "type": "object", - "description": "{ active: boolean, type: (\"identity\" | \"percent\") }", - "properties": { - "active": { - "type": "boolean", - "description": "boolean" - }, - "type": { - "anyOf": [ - { - "const": "identity", - "description": "\"identity\"" - }, - { - "const": "percent", - "description": "\"percent\"" - } - ], - "description": "(\"identity\" | \"percent\")" - } - }, - "required": [ - "active", - "type" - ] - } - }, - "required": [ - "legend", - "timeRange", - "dataFilters", - "calculation" - ] - }, - {} - ], - "description": "({ legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" } }, "required": [ "chartType", - "fields", - "interactiveFiltersConfig" + "fields" ] } ], - "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)" + "description": "({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)" } ], - "description": "(({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig))" + "description": "(({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig))" } ], - "description": "((({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)) | (({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)))" + "description": "((({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & AreaConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ColumnConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & BarConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & LineConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & MapConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & PieConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ScatterPlotConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & TableConfig)) | (({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineSingleConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineDualConfig) | ({ key: string, version: string, meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }, cubes: Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>, interactiveFiltersConfig: { legend: { active: boolean, componentId: string }, timeRange: { active: boolean, componentId: string, presets: { type: \"range\", from: string, to: string } }, dataFilters: ({ active: boolean, componentIds: Array, defaultValueOverrides: { [K in string]: Array }, filterTypes: { [K in string]: (\"single\" | \"multi\") } } & Partial<{ defaultOpen: boolean }>), calculation: { active: boolean, type: (\"identity\" | \"percent\") } }, annotations: Array<{ key: string, type: \"highlight\", targets: Array<{ componentId: string, value: string }>, text: { de: string, fr: string, it: string, en: string }, highlightType: (\"none\" | \"filled\"), color: (string | undefined), defaultOpen: boolean }>, limits: { [K in string]: Array<({ related: Array<{ dimensionId: string, value: string }>, color: string, lineType: (\"dashed\" | \"solid\") } & Partial<{ symbolType: (\"cross\" | \"circle\" | \"triangle\") }>)> }, conversionUnitsByComponentId: { [K in string]: { multiplier: number, labels: { de: string, fr: string, it: string, en: string } } }, activeField: (string | undefined) } & ComboLineColumnConfig)))" } }, "activeChartKey": { diff --git a/app/tracer.ts b/app/tracer.ts new file mode 100644 index 0000000000..59d1acf661 --- /dev/null +++ b/app/tracer.ts @@ -0,0 +1,3 @@ +import { trace } from "@opentelemetry/api"; + +export const tracer = trace.getTracer("visualize"); diff --git a/yarn.lock b/yarn.lock index 3b729d77e2..ac6bb8114b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -235,6 +235,15 @@ js-tokens "^4.0.0" picocolors "^1.1.1" +"@babel/code-frame@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.28.6.tgz#72499312ec58b1e2245ba4a4f550c132be4982f7" + integrity sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q== + dependencies: + "@babel/helper-validator-identifier" "^7.28.5" + js-tokens "^4.0.0" + picocolors "^1.1.1" + "@babel/compat-data@^7.14.5", "@babel/compat-data@^7.15.0": version "7.15.0" resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz" @@ -260,7 +269,29 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.2.tgz#4183f9e642fd84e74e3eea7ffa93a412e3b102c9" integrity sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ== -"@babel/core@7.12.9", "@babel/core@^7.0.0", "@babel/core@^7.10.5", "@babel/core@^7.12.3", "@babel/core@^7.12.9", "@babel/core@^7.14.6", "@babel/core@^7.18.9", "@babel/core@^7.21.0", "@babel/core@^7.23.0", "@babel/core@^7.24.4", "@babel/core@^7.26.10", "@babel/core@^7.7.7": +"@babel/core@7.12.9": + version "7.12.9" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8" + integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ== + dependencies: + "@babel/code-frame" "^7.10.4" + "@babel/generator" "^7.12.5" + "@babel/helper-module-transforms" "^7.12.1" + "@babel/helpers" "^7.12.5" + "@babel/parser" "^7.12.7" + "@babel/template" "^7.12.7" + "@babel/traverse" "^7.12.9" + "@babel/types" "^7.12.7" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.1" + json5 "^2.1.2" + lodash "^4.17.19" + resolve "^1.3.2" + semver "^5.4.1" + source-map "^0.5.0" + +"@babel/core@^7.0.0", "@babel/core@^7.10.5", "@babel/core@^7.12.3", "@babel/core@^7.12.9", "@babel/core@^7.18.9", "@babel/core@^7.21.0", "@babel/core@^7.23.0", "@babel/core@^7.24.4", "@babel/core@^7.26.10", "@babel/core@^7.7.7": version "7.28.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.5.tgz#4c81b35e51e1b734f510c99b07dfbc7bbbb48f7e" integrity sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw== @@ -290,6 +321,17 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@^7.12.5", "@babel/generator@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.6.tgz#48dcc65d98fcc8626a48f72b62e263d25fc3c3f1" + integrity sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw== + dependencies: + "@babel/parser" "^7.28.6" + "@babel/types" "^7.28.6" + "@jridgewell/gen-mapping" "^0.3.12" + "@jridgewell/trace-mapping" "^0.3.28" + jsesc "^3.0.2" + "@babel/generator@^7.21.1": version "7.28.3" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.3.tgz#9626c1741c650cbac39121694a0f2d7451b8ef3e" @@ -643,6 +685,23 @@ "@babel/traverse" "^7.27.1" "@babel/types" "^7.27.1" +"@babel/helper-module-imports@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz#60632cbd6ffb70b22823187201116762a03e2d5c" + integrity sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw== + dependencies: + "@babel/traverse" "^7.28.6" + "@babel/types" "^7.28.6" + +"@babel/helper-module-transforms@^7.12.1": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz#9312d9d9e56edc35aeb6e95c25d4106b50b9eb1e" + integrity sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA== + dependencies: + "@babel/helper-module-imports" "^7.28.6" + "@babel/helper-validator-identifier" "^7.28.5" + "@babel/traverse" "^7.28.6" + "@babel/helper-module-transforms@^7.14.5": version "7.15.8" resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz" @@ -949,6 +1008,14 @@ "@babel/template" "^7.22.15" "@babel/types" "^7.22.19" +"@babel/helpers@^7.12.5": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.6.tgz#fca903a313ae675617936e8998b814c415cbf5d7" + integrity sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw== + dependencies: + "@babel/template" "^7.28.6" + "@babel/types" "^7.28.6" + "@babel/helpers@^7.28.4": version "7.28.4" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.4.tgz#fe07274742e95bdf7cf1443593eeb8926ab63827" @@ -994,13 +1061,25 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@7.12.16", "@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.14.6", "@babel/parser@^7.15.4", "@babel/parser@^7.20.7", "@babel/parser@^7.21.4", "@babel/parser@^7.22.0", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0", "@babel/parser@^7.24.0", "@babel/parser@^7.24.4", "@babel/parser@^7.24.5", "@babel/parser@^7.25.9", "@babel/parser@^7.26.2", "@babel/parser@^7.27.0", "@babel/parser@^7.27.1", "@babel/parser@^7.27.2", "@babel/parser@^7.28.3", "@babel/parser@^7.28.5": +"@babel/parser@7.12.16": + version "7.12.16" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.16.tgz#cc31257419d2c3189d394081635703f549fc1ed4" + integrity sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw== + +"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.15.4", "@babel/parser@^7.20.7", "@babel/parser@^7.21.4", "@babel/parser@^7.22.0", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0", "@babel/parser@^7.24.0", "@babel/parser@^7.24.4", "@babel/parser@^7.24.5", "@babel/parser@^7.25.9", "@babel/parser@^7.26.2", "@babel/parser@^7.27.0", "@babel/parser@^7.27.1", "@babel/parser@^7.27.2", "@babel/parser@^7.28.3", "@babel/parser@^7.28.5": version "7.28.5" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.5.tgz#0b0225ee90362f030efd644e8034c99468893b08" integrity sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ== dependencies: "@babel/types" "^7.28.5" +"@babel/parser@^7.12.7", "@babel/parser@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.6.tgz#f01a8885b7fa1e56dd8a155130226cd698ef13fd" + integrity sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ== + dependencies: + "@babel/types" "^7.28.6" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.5": version "7.24.5" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.5.tgz#4c3685eb9cd790bcad2843900fe0250c91ccf895" @@ -2190,6 +2269,15 @@ resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.26.10.tgz#1fce13e5a331a9dafff192b5db41350d72d44bed" integrity sha512-AYXK0hLWfEaK9WAePJqs30qro09a8w7X3YZzjukqtLXreE7xBZYdi5EMrP87T4UrVqmQ9tIX6L6SeTu5LDh3zw== +"@babel/template@^7.12.7", "@babel/template@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.28.6.tgz#0e7e56ecedb78aeef66ce7972b082fce76a23e57" + integrity sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ== + dependencies: + "@babel/code-frame" "^7.28.6" + "@babel/parser" "^7.28.6" + "@babel/types" "^7.28.6" + "@babel/template@^7.15.4": version "7.15.4" resolved "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz" @@ -2274,6 +2362,19 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.12.9", "@babel/traverse@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.6.tgz#871ddc79a80599a5030c53b1cc48cbe3a5583c2e" + integrity sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg== + dependencies: + "@babel/code-frame" "^7.28.6" + "@babel/generator" "^7.28.6" + "@babel/helper-globals" "^7.28.0" + "@babel/parser" "^7.28.6" + "@babel/template" "^7.28.6" + "@babel/types" "^7.28.6" + debug "^4.3.1" + "@babel/traverse@^7.18.9": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.0.tgz#4a408fbf364ff73135c714a2ab46a5eab2831b1e" @@ -2375,6 +2476,14 @@ "@babel/helper-validator-identifier" "^7.14.9" to-fast-properties "^2.0.0" +"@babel/types@^7.12.7", "@babel/types@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.6.tgz#c3e9377f1b155005bcc4c46020e7e394e13089df" + integrity sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg== + dependencies: + "@babel/helper-string-parser" "^7.27.1" + "@babel/helper-validator-identifier" "^7.28.5" + "@babel/types@^7.16.7": version "7.17.0" resolved "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz" @@ -4521,6 +4630,24 @@ resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== +"@grpc/grpc-js@^1.7.1": + version "1.14.3" + resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.14.3.tgz#4c9b817a900ae4020ddc28515ae4b52c78cfb8da" + integrity sha512-Iq8QQQ/7X3Sac15oB6p0FmUg/klxQvXLeileoqrTRGJYLV+/9tubbr9ipz0GKHjmXVsgFPo/+W+2cA8eNcR+XA== + dependencies: + "@grpc/proto-loader" "^0.8.0" + "@js-sdsl/ordered-map" "^4.4.2" + +"@grpc/proto-loader@^0.8.0": + version "0.8.0" + resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.8.0.tgz#b6c324dd909c458a0e4aa9bfd3d69cf78a4b9bd8" + integrity sha512-rc1hOQtjIWGxcxpb9aHAfLpIctjEnsDehj0DAiVfBlmT84uvR0uUtN2hEi/ecvWVjXUGf5qPF4qEgiLOx1YIMQ== + dependencies: + lodash.camelcase "^4.3.0" + long "^5.0.0" + protobufjs "^7.5.3" + yargs "^17.7.2" + "@hapi/accept@^5.0.2": version "5.0.2" resolved "https://registry.yarnpkg.com/@hapi/accept/-/accept-5.0.2.tgz#ab7043b037e68b722f93f376afb05e85c0699523" @@ -4895,6 +5022,11 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@js-sdsl/ordered-map@^4.4.2": + version "4.4.2" + resolved "https://registry.yarnpkg.com/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz#9299f82874bab9e4c7f9c48d865becbfe8d6907c" + integrity sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw== + "@juggle/resize-observer@^3.4.0": version "3.4.0" resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60" @@ -6217,6 +6349,297 @@ resolved "https://registry.yarnpkg.com/@open-iframe-resizer/core/-/core-1.6.0.tgz#fdcd8104e35a24f81fe2a04b0004421ba75d521d" integrity sha512-qv4jo06YQP1qYzhUKeaBBA5r172n0zSmRCKvm9lom8e8mZEPZj4i6SBisKrhK0sUQttWKUfNQQDVxsik7gDzug== +"@opentelemetry/api-logs@0.211.0": + version "0.211.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api-logs/-/api-logs-0.211.0.tgz#32d9ed98939956a84d4e2ff5e01598cb9d28d744" + integrity sha512-swFdZq8MCdmdR22jTVGQDhwqDzcI4M10nhjXkLr1EsIzXgZBqm4ZlmmcWsg3TSNf+3mzgOiqveXmBLZuDi2Lgg== + dependencies: + "@opentelemetry/api" "^1.3.0" + +"@opentelemetry/api@^1.3.0", "@opentelemetry/api@^1.9.0": + version "1.9.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.9.0.tgz#d03eba68273dc0f7509e2a3d5cba21eae10379fe" + integrity sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg== + +"@opentelemetry/configuration@0.211.0": + version "0.211.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/configuration/-/configuration-0.211.0.tgz#ca7773d8c174c5780443d85cae100f0148e745bc" + integrity sha512-PNsCkzsYQKyv8wiUIsH+loC4RYyblOaDnVASBtKS22hK55ToWs2UP6IsrcfSWWn54wWTvVe2gnfwz67Pvrxf2Q== + dependencies: + "@opentelemetry/core" "2.5.0" + yaml "^2.0.0" + +"@opentelemetry/context-async-hooks@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/context-async-hooks/-/context-async-hooks-2.5.0.tgz#0e6bf31f0dbdd159731f7dbcd266d20f028a6915" + integrity sha512-uOXpVX0ZjO7heSVjhheW2XEPrhQAWr2BScDPoZ9UDycl5iuHG+Usyc3AIfG6kZeC1GyLpMInpQ6X5+9n69yOFw== + +"@opentelemetry/core@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-2.5.0.tgz#3b2ac6cf471ed9a85eea836048a4de77a2e549d3" + integrity sha512-ka4H8OM6+DlUhSAZpONu0cPBtPPTQKxbxVzC4CzVx5+K4JnroJVBtDzLAMx4/3CDTJXRvVFhpFjtl4SaiTNoyQ== + dependencies: + "@opentelemetry/semantic-conventions" "^1.29.0" + +"@opentelemetry/exporter-logs-otlp-grpc@0.211.0": + version "0.211.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-logs-otlp-grpc/-/exporter-logs-otlp-grpc-0.211.0.tgz#ce679e1cf56e19c508c1278aa767d72b45436743" + integrity sha512-UhOoWENNqyaAMP/dL1YXLkXt6ZBtovkDDs1p4rxto9YwJX1+wMjwg+Obfyg2kwpcMoaiIFT3KQIcLNW8nNGNfQ== + dependencies: + "@grpc/grpc-js" "^1.7.1" + "@opentelemetry/core" "2.5.0" + "@opentelemetry/otlp-exporter-base" "0.211.0" + "@opentelemetry/otlp-grpc-exporter-base" "0.211.0" + "@opentelemetry/otlp-transformer" "0.211.0" + "@opentelemetry/sdk-logs" "0.211.0" + +"@opentelemetry/exporter-logs-otlp-http@0.211.0": + version "0.211.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-logs-otlp-http/-/exporter-logs-otlp-http-0.211.0.tgz#6ecf6d2e569d6c28640d34e7094015bee9680d56" + integrity sha512-c118Awf1kZirHkqxdcF+rF5qqWwNjJh+BB1CmQvN9AQHC/DUIldy6dIkJn3EKlQnQ3HmuNRKc/nHHt5IusN7mA== + dependencies: + "@opentelemetry/api-logs" "0.211.0" + "@opentelemetry/core" "2.5.0" + "@opentelemetry/otlp-exporter-base" "0.211.0" + "@opentelemetry/otlp-transformer" "0.211.0" + "@opentelemetry/sdk-logs" "0.211.0" + +"@opentelemetry/exporter-logs-otlp-proto@0.211.0": + version "0.211.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-logs-otlp-proto/-/exporter-logs-otlp-proto-0.211.0.tgz#a470ff5d6aeb5f2165a78efdbba97cecca63948f" + integrity sha512-kMvfKMtY5vJDXeLnwhrZMEwhZ2PN8sROXmzacFU/Fnl4Z79CMrOaL7OE+5X3SObRYlDUa7zVqaXp9ZetYCxfDQ== + dependencies: + "@opentelemetry/api-logs" "0.211.0" + "@opentelemetry/core" "2.5.0" + "@opentelemetry/otlp-exporter-base" "0.211.0" + "@opentelemetry/otlp-transformer" "0.211.0" + "@opentelemetry/resources" "2.5.0" + "@opentelemetry/sdk-logs" "0.211.0" + "@opentelemetry/sdk-trace-base" "2.5.0" + +"@opentelemetry/exporter-metrics-otlp-grpc@0.211.0": + version "0.211.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-metrics-otlp-grpc/-/exporter-metrics-otlp-grpc-0.211.0.tgz#72d3242e74bfb7475c43f631ecf2450a8dd5bce3" + integrity sha512-D/U3G8L4PzZp8ot5hX9wpgbTymgtLZCiwR7heMe4LsbGV4OdctS1nfyvaQHLT6CiGZ6FjKc1Vk9s6kbo9SWLXQ== + dependencies: + "@grpc/grpc-js" "^1.7.1" + "@opentelemetry/core" "2.5.0" + "@opentelemetry/exporter-metrics-otlp-http" "0.211.0" + "@opentelemetry/otlp-exporter-base" "0.211.0" + "@opentelemetry/otlp-grpc-exporter-base" "0.211.0" + "@opentelemetry/otlp-transformer" "0.211.0" + "@opentelemetry/resources" "2.5.0" + "@opentelemetry/sdk-metrics" "2.5.0" + +"@opentelemetry/exporter-metrics-otlp-http@0.211.0": + version "0.211.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-metrics-otlp-http/-/exporter-metrics-otlp-http-0.211.0.tgz#0b001f04ddc7ec629e3861bf95d54d47198f7998" + integrity sha512-lfHXElPAoDSPpPO59DJdN5FLUnwi1wxluLTWQDayqrSPfWRnluzxRhD+g7rF8wbj1qCz0sdqABl//ug1IZyWvA== + dependencies: + "@opentelemetry/core" "2.5.0" + "@opentelemetry/otlp-exporter-base" "0.211.0" + "@opentelemetry/otlp-transformer" "0.211.0" + "@opentelemetry/resources" "2.5.0" + "@opentelemetry/sdk-metrics" "2.5.0" + +"@opentelemetry/exporter-metrics-otlp-proto@0.211.0": + version "0.211.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-metrics-otlp-proto/-/exporter-metrics-otlp-proto-0.211.0.tgz#570f1b6880e339eacfdb9a1b82d9ae47e3b0927a" + integrity sha512-61iNbffEpyZv/abHaz3BQM3zUtA2kVIDBM+0dS9RK68ML0QFLRGYa50xVMn2PYMToyfszEPEgFC3ypGae2z8FA== + dependencies: + "@opentelemetry/core" "2.5.0" + "@opentelemetry/exporter-metrics-otlp-http" "0.211.0" + "@opentelemetry/otlp-exporter-base" "0.211.0" + "@opentelemetry/otlp-transformer" "0.211.0" + "@opentelemetry/resources" "2.5.0" + "@opentelemetry/sdk-metrics" "2.5.0" + +"@opentelemetry/exporter-prometheus@0.211.0": + version "0.211.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-prometheus/-/exporter-prometheus-0.211.0.tgz#88677710f0ef32f4e9ff53785f4568f2500d9928" + integrity sha512-cD0WleEL3TPqJbvxwz5MVdVJ82H8jl8mvMad4bNU24cB5SH2mRW5aMLDTuV4614ll46R//R3RMmci26mc2L99g== + dependencies: + "@opentelemetry/core" "2.5.0" + "@opentelemetry/resources" "2.5.0" + "@opentelemetry/sdk-metrics" "2.5.0" + +"@opentelemetry/exporter-trace-otlp-grpc@0.211.0": + version "0.211.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-trace-otlp-grpc/-/exporter-trace-otlp-grpc-0.211.0.tgz#2ff5f7458f868d5454156f07c3c693097afa7f33" + integrity sha512-eFwx4Gvu6LaEiE1rOd4ypgAiWEdZu7Qzm2QNN2nJqPW1XDeAVH1eNwVcVQl+QK9HR/JCDZ78PZgD7xD/DBDqbw== + dependencies: + "@grpc/grpc-js" "^1.7.1" + "@opentelemetry/core" "2.5.0" + "@opentelemetry/otlp-exporter-base" "0.211.0" + "@opentelemetry/otlp-grpc-exporter-base" "0.211.0" + "@opentelemetry/otlp-transformer" "0.211.0" + "@opentelemetry/resources" "2.5.0" + "@opentelemetry/sdk-trace-base" "2.5.0" + +"@opentelemetry/exporter-trace-otlp-http@0.211.0", "@opentelemetry/exporter-trace-otlp-http@^0.211.0": + version "0.211.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.211.0.tgz#efe8a4ddcbc92aa011c5e416b1542bb7217f09cc" + integrity sha512-F1Rv3JeMkgS//xdVjbQMrI3+26e5SXC7vXA6trx8SWEA0OUhw4JHB+qeHtH0fJn46eFItrYbL5m8j4qi9Sfaxw== + dependencies: + "@opentelemetry/core" "2.5.0" + "@opentelemetry/otlp-exporter-base" "0.211.0" + "@opentelemetry/otlp-transformer" "0.211.0" + "@opentelemetry/resources" "2.5.0" + "@opentelemetry/sdk-trace-base" "2.5.0" + +"@opentelemetry/exporter-trace-otlp-proto@0.211.0": + version "0.211.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-trace-otlp-proto/-/exporter-trace-otlp-proto-0.211.0.tgz#5664469308758998cfcdf9d3243b60f2d9cbedcb" + integrity sha512-DkjXwbPiqpcPlycUojzG2RmR0/SIK8Gi9qWO9znNvSqgzrnAIE9x2n6yPfpZ+kWHZGafvsvA1lVXucTyyQa5Kg== + dependencies: + "@opentelemetry/core" "2.5.0" + "@opentelemetry/otlp-exporter-base" "0.211.0" + "@opentelemetry/otlp-transformer" "0.211.0" + "@opentelemetry/resources" "2.5.0" + "@opentelemetry/sdk-trace-base" "2.5.0" + +"@opentelemetry/exporter-zipkin@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-zipkin/-/exporter-zipkin-2.5.0.tgz#ec7a4445f8caaa0cf58227930167e71ca2cfe494" + integrity sha512-bk9VJgFgUAzkZzU8ZyXBSWiUGLOM3mZEgKJ1+jsZclhRnAoDNf+YBdq+G9R3cP0+TKjjWad+vVrY/bE/vRR9lA== + dependencies: + "@opentelemetry/core" "2.5.0" + "@opentelemetry/resources" "2.5.0" + "@opentelemetry/sdk-trace-base" "2.5.0" + "@opentelemetry/semantic-conventions" "^1.29.0" + +"@opentelemetry/instrumentation@0.211.0": + version "0.211.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/instrumentation/-/instrumentation-0.211.0.tgz#d45e20eafa75b5d3e8a9745a6205332893c55f37" + integrity sha512-h0nrZEC/zvI994nhg7EgQ8URIHt0uDTwN90r3qQUdZORS455bbx+YebnGeEuFghUT0HlJSrLF4iHw67f+odY+Q== + dependencies: + "@opentelemetry/api-logs" "0.211.0" + import-in-the-middle "^2.0.0" + require-in-the-middle "^8.0.0" + +"@opentelemetry/otlp-exporter-base@0.211.0": + version "0.211.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.211.0.tgz#4badad23c5880b53456fa42ecfa9711893d6c36c" + integrity sha512-bp1+63V8WPV+bRI9EQG6E9YID1LIHYSZVbp7f+44g9tRzCq+rtw/o4fpL5PC31adcUsFiz/oN0MdLISSrZDdrg== + dependencies: + "@opentelemetry/core" "2.5.0" + "@opentelemetry/otlp-transformer" "0.211.0" + +"@opentelemetry/otlp-grpc-exporter-base@0.211.0": + version "0.211.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-grpc-exporter-base/-/otlp-grpc-exporter-base-0.211.0.tgz#6f0de806b05de956d64be1f7ffa702d4ff3cae74" + integrity sha512-mR5X+N4SuphJeb7/K7y0JNMC8N1mB6gEtjyTLv+TSAhl0ZxNQzpSKP8S5Opk90fhAqVYD4R0SQSAirEBlH1KSA== + dependencies: + "@grpc/grpc-js" "^1.7.1" + "@opentelemetry/core" "2.5.0" + "@opentelemetry/otlp-exporter-base" "0.211.0" + "@opentelemetry/otlp-transformer" "0.211.0" + +"@opentelemetry/otlp-transformer@0.211.0": + version "0.211.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-transformer/-/otlp-transformer-0.211.0.tgz#d01b5474719e3e9ffc4d01e372c28f7f9442fac5" + integrity sha512-julhCJ9dXwkOg9svuuYqqjXLhVaUgyUvO2hWbTxwjvLXX2rG3VtAaB0SzxMnGTuoCZizBT7Xqqm2V7+ggrfCXA== + dependencies: + "@opentelemetry/api-logs" "0.211.0" + "@opentelemetry/core" "2.5.0" + "@opentelemetry/resources" "2.5.0" + "@opentelemetry/sdk-logs" "0.211.0" + "@opentelemetry/sdk-metrics" "2.5.0" + "@opentelemetry/sdk-trace-base" "2.5.0" + protobufjs "8.0.0" + +"@opentelemetry/propagator-b3@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-b3/-/propagator-b3-2.5.0.tgz#33dbf3773fa4cd39fe5aaf83a0f2291f2e24549e" + integrity sha512-g10m4KD73RjHrSvUge+sUxUl8m4VlgnGc6OKvo68a4uMfaLjdFU+AULfvMQE/APq38k92oGUxEzBsAZ8RN/YHg== + dependencies: + "@opentelemetry/core" "2.5.0" + +"@opentelemetry/propagator-jaeger@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/propagator-jaeger/-/propagator-jaeger-2.5.0.tgz#801200258e110aa4801439aa302f5e4b08608343" + integrity sha512-t70ErZCncAR/zz5AcGkL0TF25mJiK1FfDPEQCgreyAHZ+mRJ/bNUiCnImIBDlP3mSDXy6N09DbUEKq0ktW98Hg== + dependencies: + "@opentelemetry/core" "2.5.0" + +"@opentelemetry/resources@2.5.0", "@opentelemetry/resources@^2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-2.5.0.tgz#e7a575b2c534961a9db5153f9498931c786a607a" + integrity sha512-F8W52ApePshpoSrfsSk1H2yJn9aKjCrbpQF1M9Qii0GHzbfVeFUB+rc3X4aggyZD8x9Gu3Slua+s6krmq6Dt8g== + dependencies: + "@opentelemetry/core" "2.5.0" + "@opentelemetry/semantic-conventions" "^1.29.0" + +"@opentelemetry/sdk-logs@0.211.0": + version "0.211.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-logs/-/sdk-logs-0.211.0.tgz#a307e3d4e419c5e2660f68f7f56f6044e073633d" + integrity sha512-O5nPwzgg2JHzo59kpQTPUOTzFi0Nv5LxryG27QoXBciX3zWM3z83g+SNOHhiQVYRWFSxoWn1JM2TGD5iNjOwdA== + dependencies: + "@opentelemetry/api-logs" "0.211.0" + "@opentelemetry/core" "2.5.0" + "@opentelemetry/resources" "2.5.0" + +"@opentelemetry/sdk-metrics@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-metrics/-/sdk-metrics-2.5.0.tgz#2b7785f3a8b2efbd5a6bf1342ed159656dc2af4a" + integrity sha512-BeJLtU+f5Gf905cJX9vXFQorAr6TAfK3SPvTFqP+scfIpDQEJfRaGJWta7sJgP+m4dNtBf9y3yvBKVAZZtJQVA== + dependencies: + "@opentelemetry/core" "2.5.0" + "@opentelemetry/resources" "2.5.0" + +"@opentelemetry/sdk-node@^0.211.0": + version "0.211.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-node/-/sdk-node-0.211.0.tgz#353aa33320e9c9c7f2a1905e53fd0fad5511ed63" + integrity sha512-+s1eGjoqmPCMptNxcJJD4IxbWJKNLOQFNKhpwkzi2gLkEbCj6LzSHJNhPcLeBrBlBLtlSpibM+FuS7fjZ8SSFQ== + dependencies: + "@opentelemetry/api-logs" "0.211.0" + "@opentelemetry/configuration" "0.211.0" + "@opentelemetry/context-async-hooks" "2.5.0" + "@opentelemetry/core" "2.5.0" + "@opentelemetry/exporter-logs-otlp-grpc" "0.211.0" + "@opentelemetry/exporter-logs-otlp-http" "0.211.0" + "@opentelemetry/exporter-logs-otlp-proto" "0.211.0" + "@opentelemetry/exporter-metrics-otlp-grpc" "0.211.0" + "@opentelemetry/exporter-metrics-otlp-http" "0.211.0" + "@opentelemetry/exporter-metrics-otlp-proto" "0.211.0" + "@opentelemetry/exporter-prometheus" "0.211.0" + "@opentelemetry/exporter-trace-otlp-grpc" "0.211.0" + "@opentelemetry/exporter-trace-otlp-http" "0.211.0" + "@opentelemetry/exporter-trace-otlp-proto" "0.211.0" + "@opentelemetry/exporter-zipkin" "2.5.0" + "@opentelemetry/instrumentation" "0.211.0" + "@opentelemetry/propagator-b3" "2.5.0" + "@opentelemetry/propagator-jaeger" "2.5.0" + "@opentelemetry/resources" "2.5.0" + "@opentelemetry/sdk-logs" "0.211.0" + "@opentelemetry/sdk-metrics" "2.5.0" + "@opentelemetry/sdk-trace-base" "2.5.0" + "@opentelemetry/sdk-trace-node" "2.5.0" + "@opentelemetry/semantic-conventions" "^1.29.0" + +"@opentelemetry/sdk-trace-base@2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-2.5.0.tgz#4b96ae2494a4de5e3bfb36ef7459b30a1ce3332a" + integrity sha512-VzRf8LzotASEyNDUxTdaJ9IRJ1/h692WyArDBInf5puLCjxbICD6XkHgpuudis56EndyS7LYFmtTMny6UABNdQ== + dependencies: + "@opentelemetry/core" "2.5.0" + "@opentelemetry/resources" "2.5.0" + "@opentelemetry/semantic-conventions" "^1.29.0" + +"@opentelemetry/sdk-trace-node@2.5.0", "@opentelemetry/sdk-trace-node@^2.5.0": + version "2.5.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-node/-/sdk-trace-node-2.5.0.tgz#010e613901bd119cc117c164b877be2525689b0a" + integrity sha512-O6N/ejzburFm2C84aKNrwJVPpt6HSTSq8T0ZUMq3xT2XmqT4cwxUItcL5UWGThYuq8RTcbH8u1sfj6dmRci0Ow== + dependencies: + "@opentelemetry/context-async-hooks" "2.5.0" + "@opentelemetry/core" "2.5.0" + "@opentelemetry/sdk-trace-base" "2.5.0" + +"@opentelemetry/semantic-conventions@^1.29.0", "@opentelemetry/semantic-conventions@^1.39.0": + version "1.39.0" + resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.39.0.tgz#f653b2752171411feb40310b8a8953d7e5c543b7" + integrity sha512-R5R9tb2AXs2IRLNKLBJDynhkfmx7mX0vi8NkhZb3gUkPWHn6HXk5J8iQ/dql0U3ApfWym4kXXmBDRGO+oeOfjg== + "@panva/hkdf@^1.0.2": version "1.1.1" resolved "https://registry.yarnpkg.com/@panva/hkdf/-/hkdf-1.1.1.tgz#ab9cd8755d1976e72fc77a00f7655a64efe6cd5d" @@ -9021,6 +9444,13 @@ resolved "https://registry.npmjs.org/@types/node/-/node-16.10.3.tgz" integrity sha512-ho3Ruq+fFnBrZhUYI46n/bV2GjwzSkwuT4dTf0GkuNFmnb8nq4ny2z9JEVemFi6bdEJanHLlYfy9c6FN9B9McQ== +"@types/node@>=13.7.0": + version "25.0.10" + resolved "https://registry.yarnpkg.com/@types/node/-/node-25.0.10.tgz#4864459c3c9459376b8b75fd051315071c8213e7" + integrity sha512-zWW5KPngR/yvakJgGOmZ5vTBemDoSqF3AcV/LrO5u5wTWyEAVVh+IT39G4gtyAkh3CtTZs8aX/yRM82OfzHJRg== + dependencies: + undici-types "~7.16.0" + "@types/node@^10.1.0": version "10.17.60" resolved "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz" @@ -10312,6 +10742,11 @@ acorn-import-assertions@^1.9.0: resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac" integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== +acorn-import-attributes@^1.9.5: + version "1.9.5" + resolved "https://registry.yarnpkg.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz#7eb1557b1ba05ef18b5ed0ec67591bfab04688ef" + integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ== + acorn-jsx@^5.0.0, acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" @@ -10342,6 +10777,11 @@ acorn@^8.11.3, acorn@^8.4.1, acorn@^8.7.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== +acorn@^8.15.0: + version "8.15.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.15.0.tgz#a360898bc415edaac46c8241f6383975b930b816" + integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg== + acorn@^8.8.2: version "8.9.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.9.0.tgz#78a16e3b2bcc198c10822786fa6679e245db5b59" @@ -11885,6 +12325,11 @@ cjs-module-lexer@^1.2.3: resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== +cjs-module-lexer@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-2.2.0.tgz#b3ca5101843389259ade7d88c77bd06ce55849ca" + integrity sha512-4bHTS2YuzUvtoLjdy+98ykbNB5jS0+07EvFNXerqZQJ89F7DI6ET7OQo/HJuW6K0aVsKA9hj9/RVb2kQVOrPDQ== + classnames@^2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" @@ -11993,6 +12438,15 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + clone-deep@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" @@ -13034,6 +13488,13 @@ debug@^4.3.2, debug@^4.3.7: dependencies: ms "^2.1.3" +debug@^4.3.5: + version "4.4.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.3.tgz#c6ae432d9bd9662582fce08709b038c58e9e3d6a" + integrity sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== + dependencies: + ms "^2.1.3" + debug@^4.4.0: version "4.4.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b" @@ -15335,7 +15796,7 @@ fwd-stream@^1.0.4: dependencies: readable-stream "~1.0.26-4" -gensync@^1.0.0-beta.2: +gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== @@ -16505,6 +16966,16 @@ import-from@3.0.0: dependencies: resolve-from "^5.0.0" +import-in-the-middle@^2.0.0: + version "2.0.5" + resolved "https://registry.yarnpkg.com/import-in-the-middle/-/import-in-the-middle-2.0.5.tgz#3ee0bfa70e6f543b821f6d5ed42890dd578b87a2" + integrity sha512-0InH9/4oDCBRzWXhpOqusspLBrVfK1vPvbn9Wxl8DAQ8yyx5fWJRETICSwkiAMaYntjJAMBP1R4B6cQnEUYVEA== + dependencies: + acorn "^8.15.0" + acorn-import-attributes "^1.9.5" + cjs-module-lexer "^2.2.0" + module-details-from-path "^1.0.4" + import-move-codemod@^0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/import-move-codemod/-/import-move-codemod-0.0.3.tgz#570c34614afaecfd13574e2e92c553e8914de5a0" @@ -16806,7 +17277,7 @@ is-core-module@^2.13.0: dependencies: hasown "^2.0.0" -is-core-module@^2.15.1, is-core-module@^2.16.0: +is-core-module@^2.15.1, is-core-module@^2.16.0, is-core-module@^2.16.1: version "2.16.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== @@ -18153,6 +18624,11 @@ locate-path@^7.1.0: dependencies: p-locate "^6.0.0" +lodash.camelcase@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" + integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA== + lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" @@ -18307,6 +18783,11 @@ long@^4.0.0: resolved "https://registry.npmjs.org/long/-/long-4.0.0.tgz" integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== +long@^5.0.0: + version "5.3.2" + resolved "https://registry.yarnpkg.com/long/-/long-5.3.2.tgz#1d84463095999262d7d7b7f8bfd4a8cc55167f83" + integrity sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA== + long@^5.2.1: version "5.3.1" resolved "https://registry.yarnpkg.com/long/-/long-5.3.1.tgz#9d4222d3213f38a5ec809674834e0f0ab21abe96" @@ -19553,6 +20034,11 @@ module-definition@^4.1.0: ast-module-types "^4.0.0" node-source-walk "^5.0.1" +module-details-from-path@^1.0.3, module-details-from-path@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.4.tgz#b662fdcd93f6c83d3f25289da0ce81c8d9685b94" + integrity sha512-EGWKgxALGMgzvxYF1UyGTy0HXX/2vHLkw6+NvDKW2jypWbHpjQuj4UMcqQWXHERJhVGKikolT06G3bcKe4fi7w== + module-lookup-amd@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/module-lookup-amd/-/module-lookup-amd-7.0.1.tgz#d67c1a93f2ff8e38b8774b99a638e9a4395774b2" @@ -20944,8 +21430,7 @@ prepend-http@^2.0.0: resolved "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz" integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= -"prettier-fallback@npm:prettier@^3", prettier@^3.1.1: - name prettier-fallback +"prettier-fallback@npm:prettier@^3": version "3.2.5" resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== @@ -20955,6 +21440,11 @@ prettier@^2.1.2: resolved "https://registry.npmjs.org/prettier/-/prettier-2.3.1.tgz" integrity sha512-p+vNbgpLjif/+D+DwAZAbndtRrR0md0MwfmOVN9N+2RgyACMT+7tfaRnT+WDPkqnuVwleyuBIG2XBxKDme3hPA== +prettier@^3.1.1: + version "3.2.5" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" + integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== + prettier@^3.2.5: version "3.4.2" resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.4.2.tgz#a5ce1fb522a588bf2b78ca44c6e6fe5aa5a2b13f" @@ -21112,6 +21602,42 @@ property-information@^6.0.0: resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.5.0.tgz#6212fbb52ba757e92ef4fb9d657563b933b7ffec" integrity sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig== +protobufjs@8.0.0: + version "8.0.0" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-8.0.0.tgz#d884102c1fe8d0b1e2493789ad37bc7ea47c0893" + integrity sha512-jx6+sE9h/UryaCZhsJWbJtTEy47yXoGNYI4z8ZaRncM0zBKeRqjO2JEcOUYwrYGb1WLhXM1FfMzW3annvFv0rw== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/node" ">=13.7.0" + long "^5.0.0" + +protobufjs@^7.5.3: + version "7.5.4" + resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.5.4.tgz#885d31fe9c4b37f25d1bb600da30b1c5b37d286a" + integrity sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg== + dependencies: + "@protobufjs/aspromise" "^1.1.2" + "@protobufjs/base64" "^1.1.2" + "@protobufjs/codegen" "^2.0.4" + "@protobufjs/eventemitter" "^1.1.0" + "@protobufjs/fetch" "^1.1.0" + "@protobufjs/float" "^1.0.2" + "@protobufjs/inquire" "^1.1.0" + "@protobufjs/path" "^1.1.2" + "@protobufjs/pool" "^1.1.0" + "@protobufjs/utf8" "^1.1.0" + "@types/node" ">=13.7.0" + long "^5.0.0" + protocol-buffers-schema@^3.3.1: version "3.5.1" resolved "https://registry.npmjs.org/protocol-buffers-schema/-/protocol-buffers-schema-3.5.1.tgz" @@ -22249,6 +22775,14 @@ require-from-string@^2.0.2: resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== +require-in-the-middle@^8.0.0: + version "8.0.1" + resolved "https://registry.yarnpkg.com/require-in-the-middle/-/require-in-the-middle-8.0.1.tgz#dbde2587f669398626d56b20c868ab87bf01cce4" + integrity sha512-QT7FVMXfWOYFbeRBF6nu+I6tr2Tf3u0q8RIEjNob/heKY/nh7drD/k7eeMFmSQgnTtCzLDcCu/XEnpW2wk4xCQ== + dependencies: + debug "^4.3.5" + module-details-from-path "^1.0.3" + require-main-filename@^2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz" @@ -22359,6 +22893,15 @@ resolve@^1.21.0, resolve@^1.22.1: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^1.3.2: + version "1.22.11" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.11.tgz#aad857ce1ffb8bfa9b0b1ac29f1156383f68c262" + integrity sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ== + dependencies: + is-core-module "^2.16.1" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + resolve@^2.0.0-next.5: version "2.0.0-next.5" resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" @@ -22705,6 +23248,11 @@ semver-compare@^1.0.0: resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== +semver@^5.4.1: + version "5.7.2" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" + integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== + semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" @@ -23407,8 +23955,7 @@ string-to-stream@^3.0.1: dependencies: readable-stream "^3.4.0" -"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.2.0: - name string-width-cjs +"string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -23443,6 +23990,15 @@ string-width@^4.1.0: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.0" +string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string-width@^5.0.1, string-width@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" @@ -23572,8 +24128,7 @@ stringify-object@^3.2.1: is-obj "^1.0.1" is-regexp "^1.0.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: - name strip-ansi-cjs +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -23601,6 +24156,13 @@ strip-ansi@^5.1.0: dependencies: ansi-regex "^4.1.0" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^7.0.1: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -24578,6 +25140,11 @@ undici-types@~6.21.0: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-6.21.0.tgz#691d00af3909be93a7faa13be61b3a5b50ef12cb" integrity sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ== +undici-types@~7.16.0: + version "7.16.0" + resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.16.0.tgz#ffccdff36aea4884cbfce9a750a0580224f58a46" + integrity sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw== + undici@^5.21.2: version "5.28.3" resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.3.tgz#a731e0eff2c3fcfd41c1169a869062be222d1e5b" @@ -25649,6 +26216,11 @@ yaml@^1.10.0, yaml@^1.7.2: resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== +yaml@^2.0.0: + version "2.8.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.8.2.tgz#5694f25eca0ce9c3e7a9d9e00ce0ddabbd9e35c5" + integrity sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A== + yargs-parser@^18.1.2, yargs-parser@^18.1.3: version "18.1.3" resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz" @@ -25662,6 +26234,11 @@ yargs-parser@^20.2.2: resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.7.tgz" integrity sha512-FiNkvbeHzB/syOjIUxFDCnhSfzAL8R5vs40MgLFBorXACCOAEaWu0gRZl14vG8MR9AOJIZbmkjhusqBYZ3HTHw== +yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + yargs@^15.3.1: version "15.4.1" resolved "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz" @@ -25692,6 +26269,19 @@ yargs@^17.0.0: y18n "^5.0.5" yargs-parser "^20.2.2" +yargs@^17.7.2: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + yn@3.1.1: version "3.1.1" resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" From ea847dc3d4382f70d24528259e4f9e9e56d14077 Mon Sep 17 00:00:00 2001 From: Ludovic Muller Date: Tue, 27 Jan 2026 14:39:31 +0100 Subject: [PATCH 2/6] feat(otel): instrument all SPARQL queries --- CHANGELOG.md | 1 + app/graphql/context.tsx | 169 ++++++++++++++++++++++++++++++++++------ 2 files changed, 146 insertions(+), 24 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8fae87e87c..51efb92274 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ You can also check the - Features - Added a way to make table columns responsive + - Started OpenTelemetry instrumentation ### 6.2.5 - 2025-12-02 diff --git a/app/graphql/context.tsx b/app/graphql/context.tsx index 0a31b4fbb7..cf35e54d1f 100644 --- a/app/graphql/context.tsx +++ b/app/graphql/context.tsx @@ -23,6 +23,7 @@ import { createSource, pragmas } from "@/rdf/create-source"; import { ExtendedCube } from "@/rdf/extended-cube"; import { createCubeDimensionValuesLoader } from "@/rdf/queries"; import { createGeoShapesLoader } from "@/rdf/query-geo-shapes"; +import { tracer } from "@/tracer"; import { timed, TimingCallback } from "@/utils/timed"; export const MAX_BATCH_SIZE = 500; @@ -108,35 +109,155 @@ const setupSparqlClients = ( }); }; - sparqlClient.query.select = timed( - sparqlClient.query.select, - saveTimingToContext - ); + const originalSparqlClientQuerySelect = sparqlClient.query.select; + sparqlClient.query.select = timed(function ( + this: typeof sparqlClient.query, + query, + ...args + ) { + return tracer.startActiveSpan("sparqlClient.query.select", async (span) => { + try { + span.addEvent("sparql.query", { + "db.query.text": query, + "db.system.name": "sparql", + }); + return await originalSparqlClientQuerySelect.call(this, query, ...args); + } finally { + span.end(); + } + }); + }, saveTimingToContext); - sparqlClient.query.construct = timed( - sparqlClient.query.construct, - saveTimingToContext - ); + const originalSparqlClientQueryConstruct = sparqlClient.query.construct; + sparqlClient.query.construct = timed(function ( + this: typeof sparqlClient.query, + query, + ...args + ) { + return tracer.startActiveSpan( + "sparqlClient.query.construct", + async (span) => { + try { + span.addEvent("sparql.query", { + "db.query.text": query, + "db.system.name": "sparql", + }); + return await originalSparqlClientQueryConstruct.call( + this, + query, + ...args + ); + } finally { + span.end(); + } + } + ); + }, saveTimingToContext); - sparqlClientStream.query.select = timed( - sparqlClientStream.query.select, - saveTimingToContext - ); + const originalSparqlClientStreamQuerySelect = sparqlClientStream.query.select; + sparqlClientStream.query.select = timed(function ( + this: typeof sparqlClientStream.query, + query, + ...args + ) { + return tracer.startActiveSpan( + "sparqlClientStream.query.select", + async (span) => { + try { + span.addEvent("sparql.query", { + "db.query.text": query, + "db.system.name": "sparql", + }); + return await originalSparqlClientStreamQuerySelect.call( + this, + query, + ...args + ); + } finally { + span.end(); + } + } + ); + }, saveTimingToContext); - sparqlClientStream.query.construct = timed( - sparqlClientStream.query.construct, - saveTimingToContext - ); + const originalSparqlClientStreamQueryConstruct = + sparqlClientStream.query.construct; + sparqlClientStream.query.construct = timed(function ( + this: typeof sparqlClientStream.query, + query, + ...args + ) { + return tracer.startActiveSpan( + "sparqlClientStream.query.construct", + async (span) => { + try { + span.addEvent("sparql.query", { + "db.query.text": query, + "db.system.name": "sparql", + }); + return await originalSparqlClientStreamQueryConstruct.call( + this, + query, + ...args + ); + } finally { + span.end(); + } + } + ); + }, saveTimingToContext); - geoSparqlClient.query.select = timed( - geoSparqlClient.query.select, - saveTimingToContext - ); + const originalGeoSparqlClientQuerySelect = geoSparqlClient.query.select; + geoSparqlClient.query.select = timed(function ( + this: typeof geoSparqlClient.query, + query, + ...args + ) { + return tracer.startActiveSpan( + "geoSparqlClient.query.select", + async (span) => { + try { + span.addEvent("sparql.query", { + "db.query.text": query, + "db.system.name": "sparql", + }); + return await originalGeoSparqlClientQuerySelect.call( + this, + query, + ...args + ); + } finally { + span.end(); + } + } + ); + }, saveTimingToContext); - geoSparqlClient.query.construct = timed( - geoSparqlClient.query.construct, - saveTimingToContext - ); + const originalGeoSparqlClientQueryConstruct = geoSparqlClient.query.construct; + geoSparqlClient.query.construct = timed(function ( + this: typeof geoSparqlClient.query, + query, + ...args + ) { + return tracer.startActiveSpan( + "geoSparqlClient.query.construct", + async (span) => { + try { + span.addEvent("sparql.query", { + "db.query.text": query, + "db.system.name": "sparql", + }); + return await originalGeoSparqlClientQueryConstruct.call( + this, + query, + ...args + ); + } finally { + span.end(); + } + } + ); + }, saveTimingToContext); return { sparqlClient, sparqlClientStream, geoSparqlClient }; }; From 6fba1971b275ce52257b89d77f268217f10e7dae Mon Sep 17 00:00:00 2001 From: Ludovic Muller Date: Tue, 27 Jan 2026 15:11:10 +0100 Subject: [PATCH 3/6] feat(otel): trace search --- app/graphql/resolvers/rdf.ts | 35 ++++++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/app/graphql/resolvers/rdf.ts b/app/graphql/resolvers/rdf.ts index 37a2956991..5f255040cc 100644 --- a/app/graphql/resolvers/rdf.ts +++ b/app/graphql/resolvers/rdf.ts @@ -46,6 +46,7 @@ import { queryLatestCubeIri } from "@/rdf/query-latest-cube-iri"; import { getPossibleFilters } from "@/rdf/query-possible-filters"; import { searchCubes as _searchCubes, SearchResult } from "@/rdf/query-search"; import { getSparqlEditorUrl } from "@/rdf/sparql-utils"; +import { tracer } from "@/tracer"; export const dataCubeLatestIri: NonNullable< QueryResolvers["dataCubeLatestIri"] @@ -100,18 +101,30 @@ export const searchCubes: NonNullable = async ( { setup }, info ) => { - const { sparqlClient } = await setup(info); - const cubes = await _searchCubes({ - locale, - includeDrafts, - fetchDimensionTermsets, - filters, - query, - sparqlClient, - }); - sortResults(cubes, order, locale); + return await tracer.startActiveSpan("searchCubes", async (span) => { + try { + span.addEvent("search.input", { + "app.search.query": + typeof query === "string" ? query : JSON.stringify(query), + "app.search.filters": JSON.stringify(filters), + }); - return cubes; + const { sparqlClient } = await setup(info); + const cubes = await _searchCubes({ + locale, + includeDrafts, + fetchDimensionTermsets, + filters, + query, + sparqlClient, + }); + sortResults(cubes, order, locale); + + return cubes; + } finally { + span.end(); + } + }); }; export const dataCubeDimensionGeoShapes: NonNullable< From b14066b1d8c0146837b2a83e76b6ef9561a3385c Mon Sep 17 00:00:00 2001 From: Ludovic Muller Date: Tue, 27 Jan 2026 15:15:33 +0100 Subject: [PATCH 4/6] chore: yarn install to fix the lock file --- yarn.lock | 210 +++++++++++++++++++++++------------------------------- 1 file changed, 89 insertions(+), 121 deletions(-) diff --git a/yarn.lock b/yarn.lock index ac6bb8114b..44b92a7ea6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -269,42 +269,25 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.2.tgz#4183f9e642fd84e74e3eea7ffa93a412e3b102c9" integrity sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ== -"@babel/core@7.12.9": - version "7.12.9" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.9.tgz#fd450c4ec10cdbb980e2928b7aa7a28484593fc8" - integrity sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.5" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helpers" "^7.12.5" - "@babel/parser" "^7.12.7" - "@babel/template" "^7.12.7" - "@babel/traverse" "^7.12.9" - "@babel/types" "^7.12.7" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" +"@babel/compat-data@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.6.tgz#103f466803fa0f059e82ccac271475470570d74c" + integrity sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg== -"@babel/core@^7.0.0", "@babel/core@^7.10.5", "@babel/core@^7.12.3", "@babel/core@^7.12.9", "@babel/core@^7.18.9", "@babel/core@^7.21.0", "@babel/core@^7.23.0", "@babel/core@^7.24.4", "@babel/core@^7.26.10", "@babel/core@^7.7.7": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.5.tgz#4c81b35e51e1b734f510c99b07dfbc7bbbb48f7e" - integrity sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw== +"@babel/core@7.12.9", "@babel/core@^7.0.0", "@babel/core@^7.10.5", "@babel/core@^7.12.3", "@babel/core@^7.12.9", "@babel/core@^7.14.6", "@babel/core@^7.18.9", "@babel/core@^7.21.0", "@babel/core@^7.23.0", "@babel/core@^7.24.4", "@babel/core@^7.26.10", "@babel/core@^7.7.7": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.28.6.tgz#531bf883a1126e53501ba46eb3bb414047af507f" + integrity sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw== dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.28.5" - "@babel/helper-compilation-targets" "^7.27.2" - "@babel/helper-module-transforms" "^7.28.3" - "@babel/helpers" "^7.28.4" - "@babel/parser" "^7.28.5" - "@babel/template" "^7.27.2" - "@babel/traverse" "^7.28.5" - "@babel/types" "^7.28.5" + "@babel/code-frame" "^7.28.6" + "@babel/generator" "^7.28.6" + "@babel/helper-compilation-targets" "^7.28.6" + "@babel/helper-module-transforms" "^7.28.6" + "@babel/helpers" "^7.28.6" + "@babel/parser" "^7.28.6" + "@babel/template" "^7.28.6" + "@babel/traverse" "^7.28.6" + "@babel/types" "^7.28.6" "@jridgewell/remapping" "^2.3.5" convert-source-map "^2.0.0" debug "^4.1.0" @@ -321,17 +304,6 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.12.5", "@babel/generator@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.6.tgz#48dcc65d98fcc8626a48f72b62e263d25fc3c3f1" - integrity sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw== - dependencies: - "@babel/parser" "^7.28.6" - "@babel/types" "^7.28.6" - "@jridgewell/gen-mapping" "^0.3.12" - "@jridgewell/trace-mapping" "^0.3.28" - jsesc "^3.0.2" - "@babel/generator@^7.21.1": version "7.28.3" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.3.tgz#9626c1741c650cbac39121694a0f2d7451b8ef3e" @@ -407,6 +379,17 @@ "@jridgewell/trace-mapping" "^0.3.28" jsesc "^3.0.2" +"@babel/generator@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.6.tgz#48dcc65d98fcc8626a48f72b62e263d25fc3c3f1" + integrity sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw== + dependencies: + "@babel/parser" "^7.28.6" + "@babel/types" "^7.28.6" + "@jridgewell/gen-mapping" "^0.3.12" + "@jridgewell/trace-mapping" "^0.3.28" + jsesc "^3.0.2" + "@babel/helper-annotate-as-pure@^7.14.5": version "7.14.5" resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz" @@ -478,6 +461,17 @@ lru-cache "^5.1.1" semver "^6.3.1" +"@babel/helper-compilation-targets@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz#32c4a3f41f12ed1532179b108a4d746e105c2b25" + integrity sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA== + dependencies: + "@babel/compat-data" "^7.28.6" + "@babel/helper-validator-option" "^7.27.1" + browserslist "^4.24.0" + lru-cache "^5.1.1" + semver "^6.3.1" + "@babel/helper-create-class-features-plugin@^7.14.5": version "7.14.6" resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.6.tgz" @@ -693,15 +687,6 @@ "@babel/traverse" "^7.28.6" "@babel/types" "^7.28.6" -"@babel/helper-module-transforms@^7.12.1": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz#9312d9d9e56edc35aeb6e95c25d4106b50b9eb1e" - integrity sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA== - dependencies: - "@babel/helper-module-imports" "^7.28.6" - "@babel/helper-validator-identifier" "^7.28.5" - "@babel/traverse" "^7.28.6" - "@babel/helper-module-transforms@^7.14.5": version "7.15.8" resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz" @@ -745,6 +730,15 @@ "@babel/helper-validator-identifier" "^7.27.1" "@babel/traverse" "^7.28.3" +"@babel/helper-module-transforms@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz#9312d9d9e56edc35aeb6e95c25d4106b50b9eb1e" + integrity sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA== + dependencies: + "@babel/helper-module-imports" "^7.28.6" + "@babel/helper-validator-identifier" "^7.28.5" + "@babel/traverse" "^7.28.6" + "@babel/helper-optimise-call-expression@^7.14.5", "@babel/helper-optimise-call-expression@^7.15.4": version "7.15.4" resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz" @@ -1008,14 +1002,6 @@ "@babel/template" "^7.22.15" "@babel/types" "^7.22.19" -"@babel/helpers@^7.12.5": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.6.tgz#fca903a313ae675617936e8998b814c415cbf5d7" - integrity sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw== - dependencies: - "@babel/template" "^7.28.6" - "@babel/types" "^7.28.6" - "@babel/helpers@^7.28.4": version "7.28.4" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.4.tgz#fe07274742e95bdf7cf1443593eeb8926ab63827" @@ -1024,6 +1010,14 @@ "@babel/template" "^7.27.2" "@babel/types" "^7.28.4" +"@babel/helpers@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.6.tgz#fca903a313ae675617936e8998b814c415cbf5d7" + integrity sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw== + dependencies: + "@babel/template" "^7.28.6" + "@babel/types" "^7.28.6" + "@babel/highlight@^7.14.5": version "7.14.5" resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz" @@ -1061,19 +1055,7 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@7.12.16": - version "7.12.16" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.16.tgz#cc31257419d2c3189d394081635703f549fc1ed4" - integrity sha512-c/+u9cqV6F0+4Hpq01jnJO+GLp2DdT63ppz9Xa+6cHaajM9VFzK/iDXiKK65YtpeVwu+ctfS6iqlMqRgQRzeCw== - -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.15.4", "@babel/parser@^7.20.7", "@babel/parser@^7.21.4", "@babel/parser@^7.22.0", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0", "@babel/parser@^7.24.0", "@babel/parser@^7.24.4", "@babel/parser@^7.24.5", "@babel/parser@^7.25.9", "@babel/parser@^7.26.2", "@babel/parser@^7.27.0", "@babel/parser@^7.27.1", "@babel/parser@^7.27.2", "@babel/parser@^7.28.3", "@babel/parser@^7.28.5": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.5.tgz#0b0225ee90362f030efd644e8034c99468893b08" - integrity sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ== - dependencies: - "@babel/types" "^7.28.5" - -"@babel/parser@^7.12.7", "@babel/parser@^7.28.6": +"@babel/parser@7.12.16", "@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.14.6", "@babel/parser@^7.15.4", "@babel/parser@^7.20.7", "@babel/parser@^7.21.4", "@babel/parser@^7.22.0", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0", "@babel/parser@^7.24.0", "@babel/parser@^7.24.4", "@babel/parser@^7.24.5", "@babel/parser@^7.25.9", "@babel/parser@^7.26.2", "@babel/parser@^7.27.0", "@babel/parser@^7.27.1", "@babel/parser@^7.27.2", "@babel/parser@^7.28.3", "@babel/parser@^7.28.5", "@babel/parser@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.6.tgz#f01a8885b7fa1e56dd8a155130226cd698ef13fd" integrity sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ== @@ -2269,15 +2251,6 @@ resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.26.10.tgz#1fce13e5a331a9dafff192b5db41350d72d44bed" integrity sha512-AYXK0hLWfEaK9WAePJqs30qro09a8w7X3YZzjukqtLXreE7xBZYdi5EMrP87T4UrVqmQ9tIX6L6SeTu5LDh3zw== -"@babel/template@^7.12.7", "@babel/template@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.28.6.tgz#0e7e56ecedb78aeef66ce7972b082fce76a23e57" - integrity sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ== - dependencies: - "@babel/code-frame" "^7.28.6" - "@babel/parser" "^7.28.6" - "@babel/types" "^7.28.6" - "@babel/template@^7.15.4": version "7.15.4" resolved "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz" @@ -2332,6 +2305,15 @@ "@babel/parser" "^7.27.2" "@babel/types" "^7.27.1" +"@babel/template@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.28.6.tgz#0e7e56ecedb78aeef66ce7972b082fce76a23e57" + integrity sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ== + dependencies: + "@babel/code-frame" "^7.28.6" + "@babel/parser" "^7.28.6" + "@babel/types" "^7.28.6" + "@babel/traverse@7.12.13": version "7.12.13" resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.13.tgz" @@ -2362,19 +2344,6 @@ debug "^4.1.0" globals "^11.1.0" -"@babel/traverse@^7.12.9", "@babel/traverse@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.6.tgz#871ddc79a80599a5030c53b1cc48cbe3a5583c2e" - integrity sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg== - dependencies: - "@babel/code-frame" "^7.28.6" - "@babel/generator" "^7.28.6" - "@babel/helper-globals" "^7.28.0" - "@babel/parser" "^7.28.6" - "@babel/template" "^7.28.6" - "@babel/types" "^7.28.6" - debug "^4.3.1" - "@babel/traverse@^7.18.9": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.0.tgz#4a408fbf364ff73135c714a2ab46a5eab2831b1e" @@ -2459,6 +2428,19 @@ "@babel/types" "^7.28.5" debug "^4.3.1" +"@babel/traverse@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.6.tgz#871ddc79a80599a5030c53b1cc48cbe3a5583c2e" + integrity sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg== + dependencies: + "@babel/code-frame" "^7.28.6" + "@babel/generator" "^7.28.6" + "@babel/helper-globals" "^7.28.0" + "@babel/parser" "^7.28.6" + "@babel/template" "^7.28.6" + "@babel/types" "^7.28.6" + debug "^4.3.1" + "@babel/types@7.12.13": version "7.12.13" resolved "https://registry.npmjs.org/@babel/types/-/types-7.12.13.tgz" @@ -2476,14 +2458,6 @@ "@babel/helper-validator-identifier" "^7.14.9" to-fast-properties "^2.0.0" -"@babel/types@^7.12.7", "@babel/types@^7.28.6": - version "7.28.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.6.tgz#c3e9377f1b155005bcc4c46020e7e394e13089df" - integrity sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg== - dependencies: - "@babel/helper-string-parser" "^7.27.1" - "@babel/helper-validator-identifier" "^7.28.5" - "@babel/types@^7.16.7": version "7.17.0" resolved "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz" @@ -2586,6 +2560,14 @@ "@babel/helper-string-parser" "^7.27.1" "@babel/helper-validator-identifier" "^7.28.5" +"@babel/types@^7.28.6": + version "7.28.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.6.tgz#c3e9377f1b155005bcc4c46020e7e394e13089df" + integrity sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg== + dependencies: + "@babel/helper-string-parser" "^7.27.1" + "@babel/helper-validator-identifier" "^7.28.5" + "@bergos/jsonparse@^1.4.0": version "1.4.1" resolved "https://registry.yarnpkg.com/@bergos/jsonparse/-/jsonparse-1.4.1.tgz#560e7125f65d0ad6b96dfe1c0d5da3115b9f8c59" @@ -15796,7 +15778,7 @@ fwd-stream@^1.0.4: dependencies: readable-stream "~1.0.26-4" -gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: +gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== @@ -17277,7 +17259,7 @@ is-core-module@^2.13.0: dependencies: hasown "^2.0.0" -is-core-module@^2.15.1, is-core-module@^2.16.0, is-core-module@^2.16.1: +is-core-module@^2.15.1, is-core-module@^2.16.0: version "2.16.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4" integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w== @@ -22893,15 +22875,6 @@ resolve@^1.21.0, resolve@^1.22.1: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -resolve@^1.3.2: - version "1.22.11" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.11.tgz#aad857ce1ffb8bfa9b0b1ac29f1156383f68c262" - integrity sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ== - dependencies: - is-core-module "^2.16.1" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - resolve@^2.0.0-next.5: version "2.0.0-next.5" resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" @@ -23248,11 +23221,6 @@ semver-compare@^1.0.0: resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^5.4.1: - version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" From 5ebed1f227823e523f466dd706edc110b0a28523 Mon Sep 17 00:00:00 2001 From: Ludovic Muller Date: Tue, 27 Jan 2026 15:17:38 +0100 Subject: [PATCH 5/6] chore: npx update-browserslist-db@latest --- yarn.lock | 138 ++---------------------------------------------------- 1 file changed, 5 insertions(+), 133 deletions(-) diff --git a/yarn.lock b/yarn.lock index 44b92a7ea6..78ed9d1813 100644 --- a/yarn.lock +++ b/yarn.lock @@ -226,15 +226,6 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/code-frame@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be" - integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg== - dependencies: - "@babel/helper-validator-identifier" "^7.27.1" - js-tokens "^4.0.0" - picocolors "^1.1.1" - "@babel/code-frame@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.28.6.tgz#72499312ec58b1e2245ba4a4f550c132be4982f7" @@ -264,11 +255,6 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.8.tgz#821c1d35641c355284d4a870b8a4a7b0c141e367" integrity sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ== -"@babel/compat-data@^7.27.2": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.27.2.tgz#4183f9e642fd84e74e3eea7ffa93a412e3b102c9" - integrity sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ== - "@babel/compat-data@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.28.6.tgz#103f466803fa0f059e82ccac271475470570d74c" @@ -357,28 +343,6 @@ "@jridgewell/trace-mapping" "^0.3.25" jsesc "^3.0.2" -"@babel/generator@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.27.1.tgz#862d4fad858f7208edd487c28b58144036b76230" - integrity sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w== - dependencies: - "@babel/parser" "^7.27.1" - "@babel/types" "^7.27.1" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^3.0.2" - -"@babel/generator@^7.28.5": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.5.tgz#712722d5e50f44d07bc7ac9fe84438742dd61298" - integrity sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ== - dependencies: - "@babel/parser" "^7.28.5" - "@babel/types" "^7.28.5" - "@jridgewell/gen-mapping" "^0.3.12" - "@jridgewell/trace-mapping" "^0.3.28" - jsesc "^3.0.2" - "@babel/generator@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.6.tgz#48dcc65d98fcc8626a48f72b62e263d25fc3c3f1" @@ -450,17 +414,6 @@ lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-compilation-targets@^7.27.2": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d" - integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ== - dependencies: - "@babel/compat-data" "^7.27.2" - "@babel/helper-validator-option" "^7.27.1" - browserslist "^4.24.0" - lru-cache "^5.1.1" - semver "^6.3.1" - "@babel/helper-compilation-targets@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz#32c4a3f41f12ed1532179b108a4d746e105c2b25" @@ -671,14 +624,6 @@ dependencies: "@babel/types" "^7.24.0" -"@babel/helper-module-imports@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204" - integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w== - dependencies: - "@babel/traverse" "^7.27.1" - "@babel/types" "^7.27.1" - "@babel/helper-module-imports@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz#60632cbd6ffb70b22823187201116762a03e2d5c" @@ -721,15 +666,6 @@ "@babel/helper-validator-identifier" "^7.25.9" "@babel/traverse" "^7.25.9" -"@babel/helper-module-transforms@^7.28.3": - version "7.28.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz#a2b37d3da3b2344fe085dab234426f2b9a2fa5f6" - integrity sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw== - dependencies: - "@babel/helper-module-imports" "^7.27.1" - "@babel/helper-validator-identifier" "^7.27.1" - "@babel/traverse" "^7.28.3" - "@babel/helper-module-transforms@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz#9312d9d9e56edc35aeb6e95c25d4106b50b9eb1e" @@ -1002,14 +938,6 @@ "@babel/template" "^7.22.15" "@babel/types" "^7.22.19" -"@babel/helpers@^7.28.4": - version "7.28.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.4.tgz#fe07274742e95bdf7cf1443593eeb8926ab63827" - integrity sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w== - dependencies: - "@babel/template" "^7.27.2" - "@babel/types" "^7.28.4" - "@babel/helpers@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.28.6.tgz#fca903a313ae675617936e8998b814c415cbf5d7" @@ -1055,7 +983,7 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@7.12.16", "@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.14.6", "@babel/parser@^7.15.4", "@babel/parser@^7.20.7", "@babel/parser@^7.21.4", "@babel/parser@^7.22.0", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0", "@babel/parser@^7.24.0", "@babel/parser@^7.24.4", "@babel/parser@^7.24.5", "@babel/parser@^7.25.9", "@babel/parser@^7.26.2", "@babel/parser@^7.27.0", "@babel/parser@^7.27.1", "@babel/parser@^7.27.2", "@babel/parser@^7.28.3", "@babel/parser@^7.28.5", "@babel/parser@^7.28.6": +"@babel/parser@7.12.16", "@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.12.13", "@babel/parser@^7.14.6", "@babel/parser@^7.15.4", "@babel/parser@^7.20.7", "@babel/parser@^7.21.4", "@babel/parser@^7.22.0", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0", "@babel/parser@^7.24.0", "@babel/parser@^7.24.4", "@babel/parser@^7.24.5", "@babel/parser@^7.25.9", "@babel/parser@^7.26.2", "@babel/parser@^7.27.0", "@babel/parser@^7.28.3", "@babel/parser@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.6.tgz#f01a8885b7fa1e56dd8a155130226cd698ef13fd" integrity sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ== @@ -2296,15 +2224,6 @@ "@babel/parser" "^7.27.0" "@babel/types" "^7.27.0" -"@babel/template@^7.27.1", "@babel/template@^7.27.2": - version "7.27.2" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d" - integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/parser" "^7.27.2" - "@babel/types" "^7.27.1" - "@babel/template@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.28.6.tgz#0e7e56ecedb78aeef66ce7972b082fce76a23e57" @@ -2402,32 +2321,6 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/traverse@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.27.1.tgz#4db772902b133bbddd1c4f7a7ee47761c1b9f291" - integrity sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.27.1" - "@babel/parser" "^7.27.1" - "@babel/template" "^7.27.1" - "@babel/types" "^7.27.1" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/traverse@^7.28.3", "@babel/traverse@^7.28.5": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.5.tgz#450cab9135d21a7a2ca9d2d35aa05c20e68c360b" - integrity sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ== - dependencies: - "@babel/code-frame" "^7.27.1" - "@babel/generator" "^7.28.5" - "@babel/helper-globals" "^7.28.0" - "@babel/parser" "^7.28.5" - "@babel/template" "^7.27.2" - "@babel/types" "^7.28.5" - debug "^4.3.1" - "@babel/traverse@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.28.6.tgz#871ddc79a80599a5030c53b1cc48cbe3a5583c2e" @@ -2544,22 +2437,6 @@ "@babel/helper-string-parser" "^7.25.9" "@babel/helper-validator-identifier" "^7.25.9" -"@babel/types@^7.27.1": - version "7.27.1" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.27.1.tgz#9defc53c16fc899e46941fc6901a9eea1c9d8560" - integrity sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q== - dependencies: - "@babel/helper-string-parser" "^7.27.1" - "@babel/helper-validator-identifier" "^7.27.1" - -"@babel/types@^7.28.4", "@babel/types@^7.28.5": - version "7.28.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.5.tgz#10fc405f60897c35f07e85493c932c7b5ca0592b" - integrity sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA== - dependencies: - "@babel/helper-string-parser" "^7.27.1" - "@babel/helper-validator-identifier" "^7.28.5" - "@babel/types@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.6.tgz#c3e9377f1b155005bcc4c46020e7e394e13089df" @@ -12030,15 +11907,10 @@ camelcase@^6.2.0: resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== -caniuse-lite@^1.0.30001274, caniuse-lite@^1.0.30001579, caniuse-lite@^1.0.30001580, caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001669: - version "1.0.30001713" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001713.tgz" - integrity sha512-wCIWIg+A4Xr7NfhTuHdX+/FKh3+Op3LBbSp2N5Pfx6T/LhdQy3GTyoTg48BReaW/MyMNZAkTadsBtai3ldWK0Q== - -caniuse-lite@^1.0.30001688: - version "1.0.30001715" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001715.tgz#bd325a37ad366e3fe90827d74062807a34fbaeb2" - integrity sha512-7ptkFGMm2OAOgvZpwgA4yjQ5SQbrNVGdRjzH0pBdy1Fasvcr+KAeECmbCAECzTuDuoX0FCY8KzUxjf9+9kfZEw== +caniuse-lite@^1.0.30001274, caniuse-lite@^1.0.30001579, caniuse-lite@^1.0.30001580, caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001669, caniuse-lite@^1.0.30001688: + version "1.0.30001766" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001766.tgz" + integrity sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA== canonicalize@^1.0.1: version "1.0.8" From f1afd10c7a9f0fa768a0a84653278a5c18d737f3 Mon Sep 17 00:00:00 2001 From: Ludovic Muller Date: Wed, 28 Jan 2026 19:59:44 +0100 Subject: [PATCH 6/6] feat(otel): add db.sparql.has_query_event attribute --- app/graphql/context.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/graphql/context.tsx b/app/graphql/context.tsx index cf35e54d1f..34325bf6cf 100644 --- a/app/graphql/context.tsx +++ b/app/graphql/context.tsx @@ -117,6 +117,7 @@ const setupSparqlClients = ( ) { return tracer.startActiveSpan("sparqlClient.query.select", async (span) => { try { + span.setAttribute("db.sparql.has_query_event", true); span.addEvent("sparql.query", { "db.query.text": query, "db.system.name": "sparql", @@ -138,6 +139,7 @@ const setupSparqlClients = ( "sparqlClient.query.construct", async (span) => { try { + span.setAttribute("db.sparql.has_query_event", true); span.addEvent("sparql.query", { "db.query.text": query, "db.system.name": "sparql", @@ -164,6 +166,7 @@ const setupSparqlClients = ( "sparqlClientStream.query.select", async (span) => { try { + span.setAttribute("db.sparql.has_query_event", true); span.addEvent("sparql.query", { "db.query.text": query, "db.system.name": "sparql", @@ -191,6 +194,7 @@ const setupSparqlClients = ( "sparqlClientStream.query.construct", async (span) => { try { + span.setAttribute("db.sparql.has_query_event", true); span.addEvent("sparql.query", { "db.query.text": query, "db.system.name": "sparql", @@ -217,6 +221,7 @@ const setupSparqlClients = ( "geoSparqlClient.query.select", async (span) => { try { + span.setAttribute("db.sparql.has_query_event", true); span.addEvent("sparql.query", { "db.query.text": query, "db.system.name": "sparql", @@ -243,6 +248,7 @@ const setupSparqlClients = ( "geoSparqlClient.query.construct", async (span) => { try { + span.setAttribute("db.sparql.has_query_event", true); span.addEvent("sparql.query", { "db.query.text": query, "db.system.name": "sparql",