From 35ddb4627abe9db092b00b5c1253917d71094516 Mon Sep 17 00:00:00 2001 From: Bartosz Prusinowski Date: Mon, 6 Jan 2025 17:09:36 +0100 Subject: [PATCH 01/12] refactor: Extract config adjusters --- app/charts/index.ts | 8 +- app/config-adjusters.ts | 261 ++++++++++++++++++++++++++++++++++++++++ app/config-types.ts | 226 +--------------------------------- 3 files changed, 267 insertions(+), 228 deletions(-) create mode 100644 app/config-adjusters.ts diff --git a/app/charts/index.ts b/app/charts/index.ts index d6ef4c986..20c65a4a6 100644 --- a/app/charts/index.ts +++ b/app/charts/index.ts @@ -16,11 +16,15 @@ import { getDefaultCategoricalColorField, getDefaultNumericalColorField, } from "@/charts/map/constants"; +import { + ChartConfigsAdjusters, + FieldAdjuster, + InteractiveFiltersAdjusters, +} from "@/config-adjusters"; import { AreaSegmentField, canBeNormalized, ChartConfig, - ChartConfigsAdjusters, ChartSegmentField, ChartType, ColumnSegmentField, @@ -28,12 +32,10 @@ import { ComboLineColumnFields, ComboLineSingleFields, Cube, - FieldAdjuster, Filters, GenericField, GenericFields, GenericSegmentField, - InteractiveFiltersAdjusters, InteractiveFiltersConfig, isAreaConfig, isColumnConfig, diff --git a/app/config-adjusters.ts b/app/config-adjusters.ts new file mode 100644 index 000000000..824969d88 --- /dev/null +++ b/app/config-adjusters.ts @@ -0,0 +1,261 @@ +import { + AnimationField, + AreaConfig, + AreaFields, + AreaSegmentField, + BarConfig, + BarFields, + BarSegmentField, + ChartConfig, + ColumnConfig, + ColumnFields, + ColumnSegmentField, + ComboLineColumnConfig, + ComboLineColumnFields, + ComboLineDualConfig, + ComboLineDualFields, + ComboLineSingleConfig, + ComboLineSingleFields, + GenericChartConfig, + InteractiveFiltersCalculation, + InteractiveFiltersConfig, + InteractiveFiltersDataConfig, + InteractiveFiltersLegend, + LineConfig, + LineFields, + LineSegmentField, + MapConfig, + MapFields, + PieConfig, + PieFields, + PieSegmentField, + ScatterPlotConfig, + ScatterPlotFields, + ScatterPlotSegmentField, + TableConfig, + TableFields, +} from "@/config-types"; +import { Dimension, Measure } from "@/domain/data"; + +export type FieldAdjuster< + NewChartConfigType extends ChartConfig, + OldValueType extends unknown, +> = (params: { + oldValue: OldValueType; + oldChartConfig: ChartConfig; + newChartConfig: NewChartConfigType; + dimensions: Dimension[]; + measures: Measure[]; + isAddingNewCube?: boolean; +}) => NewChartConfigType; + +type AssureKeys = { + [K in keyof T]: U[K]; +}; + +export type InteractiveFiltersAdjusters = AssureKeys< + InteractiveFiltersConfig, + _InteractiveFiltersAdjusters +>; + +type _InteractiveFiltersAdjusters = { + legend: FieldAdjuster; + timeRange: { + active: FieldAdjuster; + componentId: FieldAdjuster; + presets: { + type: FieldAdjuster; + from: FieldAdjuster; + to: FieldAdjuster; + }; + }; + dataFilters: FieldAdjuster; + calculation: FieldAdjuster; +}; + +type BaseAdjusters = { + cubes: FieldAdjuster; + interactiveFiltersConfig: InteractiveFiltersAdjusters; +}; + +type ColumnAdjusters = BaseAdjusters & { + fields: { + x: { componentId: FieldAdjuster }; + y: { componentId: FieldAdjuster }; + segment: FieldAdjuster< + ColumnConfig, + | BarSegmentField + | LineSegmentField + | AreaSegmentField + | ScatterPlotSegmentField + | PieSegmentField + | TableFields + >; + animation: FieldAdjuster; + }; +}; + +type BarAdjusters = BaseAdjusters & { + fields: { + x: { componentId: FieldAdjuster }; + y: { componentId: FieldAdjuster }; + segment: FieldAdjuster< + BarConfig, + | ColumnSegmentField + | LineSegmentField + | AreaSegmentField + | ScatterPlotSegmentField + | PieSegmentField + | TableFields + >; + animation: FieldAdjuster; + }; +}; + +type LineAdjusters = BaseAdjusters & { + fields: { + x: { componentId: FieldAdjuster }; + y: { componentId: FieldAdjuster }; + segment: FieldAdjuster< + LineConfig, + | ColumnSegmentField + | BarSegmentField + | AreaSegmentField + | ScatterPlotSegmentField + | PieSegmentField + | TableFields + >; + }; +}; + +type AreaAdjusters = BaseAdjusters & { + fields: { + x: { componentId: FieldAdjuster }; + y: { componentId: FieldAdjuster }; + segment: FieldAdjuster< + AreaConfig, + | ColumnSegmentField + | BarSegmentField + | LineSegmentField + | ScatterPlotSegmentField + | PieSegmentField + | TableFields + >; + }; +}; + +type ScatterPlotAdjusters = BaseAdjusters & { + fields: { + y: { componentId: FieldAdjuster }; + segment: FieldAdjuster< + ScatterPlotConfig, + | ColumnSegmentField + | BarSegmentField + | LineSegmentField + | AreaSegmentField + | PieSegmentField + | TableFields + >; + animation: FieldAdjuster; + }; +}; + +type PieAdjusters = BaseAdjusters & { + fields: { + y: { componentId: FieldAdjuster }; + segment: FieldAdjuster< + PieConfig, + | ColumnSegmentField + | BarSegmentField + | LineSegmentField + | AreaSegmentField + | ScatterPlotSegmentField + | TableFields + >; + animation: FieldAdjuster; + }; +}; + +type TableAdjusters = { + cubes: FieldAdjuster; + fields: FieldAdjuster< + TableConfig, + | ColumnSegmentField + | BarSegmentField + | LineSegmentField + | AreaSegmentField + | ScatterPlotSegmentField + | PieSegmentField + >; +}; + +type MapAdjusters = BaseAdjusters & { + fields: { + areaLayer: { + componentId: FieldAdjuster; + color: { + componentId: FieldAdjuster; + }; + }; + animation: FieldAdjuster; + }; +}; + +type ComboLineSingleAdjusters = BaseAdjusters & { + fields: { + x: { componentId: FieldAdjuster }; + y: { componentIds: FieldAdjuster }; + }; +}; + +type ComboLineDualAdjusters = BaseAdjusters & { + fields: { + x: { componentId: FieldAdjuster }; + y: FieldAdjuster< + ComboLineDualConfig, + | AreaFields + | ColumnFields + | BarFields + | LineFields + | MapFields + | PieFields + | ScatterPlotFields + | TableFields + | ComboLineSingleFields + | ComboLineColumnFields + >; + }; +}; + +type ComboLineColumnAdjusters = BaseAdjusters & { + fields: { + x: { componentId: FieldAdjuster }; + y: FieldAdjuster< + ComboLineColumnConfig, + | AreaFields + | ColumnFields + | BarFields + | LineFields + | MapFields + | PieFields + | ScatterPlotFields + | TableFields + | ComboLineSingleFields + | ComboLineDualFields + >; + }; +}; + +export type ChartConfigsAdjusters = { + column: ColumnAdjusters; + bar: BarAdjusters; + line: LineAdjusters; + area: AreaAdjusters; + scatterplot: ScatterPlotAdjusters; + pie: PieAdjusters; + table: TableAdjusters; + map: MapAdjusters; + comboLineSingle: ComboLineSingleAdjusters; + comboLineDual: ComboLineDualAdjusters; + comboLineColumn: ComboLineColumnAdjusters; +}; diff --git a/app/config-types.ts b/app/config-types.ts index 8f905c312..09a0b9aa7 100644 --- a/app/config-types.ts +++ b/app/config-types.ts @@ -4,7 +4,7 @@ import { pipe } from "fp-ts/lib/function"; import * as t from "io-ts"; import { useMemo } from "react"; -import { Dimension, Measure, ObservationValue } from "@/domain/data"; +import { ObservationValue } from "@/domain/data"; import { mkJoinById } from "@/graphql/join"; const DimensionType = t.union([ @@ -960,230 +960,6 @@ export const isColorFieldInConfig = ( return isMapConfig(chartConfig); }; -// Chart Config Adjusters -export type FieldAdjuster< - NewChartConfigType extends ChartConfig, - OldValueType extends unknown, -> = (params: { - oldValue: OldValueType; - oldChartConfig: ChartConfig; - newChartConfig: NewChartConfigType; - dimensions: Dimension[]; - measures: Measure[]; - isAddingNewCube?: boolean; -}) => NewChartConfigType; - -type AssureKeys = { - [K in keyof T]: U[K]; -}; - -export type InteractiveFiltersAdjusters = AssureKeys< - InteractiveFiltersConfig, - _InteractiveFiltersAdjusters ->; - -type _InteractiveFiltersAdjusters = { - legend: FieldAdjuster; - timeRange: { - active: FieldAdjuster; - componentId: FieldAdjuster; - presets: { - type: FieldAdjuster; - from: FieldAdjuster; - to: FieldAdjuster; - }; - }; - dataFilters: FieldAdjuster; - calculation: FieldAdjuster; -}; - -type BaseAdjusters = { - cubes: FieldAdjuster; - interactiveFiltersConfig: InteractiveFiltersAdjusters; -}; - -type ColumnAdjusters = BaseAdjusters & { - fields: { - x: { componentId: FieldAdjuster }; - y: { componentId: FieldAdjuster }; - segment: FieldAdjuster< - ColumnConfig, - | BarSegmentField - | LineSegmentField - | AreaSegmentField - | ScatterPlotSegmentField - | PieSegmentField - | TableFields - >; - animation: FieldAdjuster; - }; -}; - -type BarAdjusters = BaseAdjusters & { - fields: { - x: { componentId: FieldAdjuster }; - y: { componentId: FieldAdjuster }; - segment: FieldAdjuster< - BarConfig, - | ColumnSegmentField - | LineSegmentField - | AreaSegmentField - | ScatterPlotSegmentField - | PieSegmentField - | TableFields - >; - animation: FieldAdjuster; - }; -}; - -type LineAdjusters = BaseAdjusters & { - fields: { - x: { componentId: FieldAdjuster }; - y: { componentId: FieldAdjuster }; - segment: FieldAdjuster< - LineConfig, - | ColumnSegmentField - | BarSegmentField - | AreaSegmentField - | ScatterPlotSegmentField - | PieSegmentField - | TableFields - >; - }; -}; - -type AreaAdjusters = BaseAdjusters & { - fields: { - x: { componentId: FieldAdjuster }; - y: { componentId: FieldAdjuster }; - segment: FieldAdjuster< - AreaConfig, - | ColumnSegmentField - | BarSegmentField - | LineSegmentField - | ScatterPlotSegmentField - | PieSegmentField - | TableFields - >; - }; -}; - -type ScatterPlotAdjusters = BaseAdjusters & { - fields: { - y: { componentId: FieldAdjuster }; - segment: FieldAdjuster< - ScatterPlotConfig, - | ColumnSegmentField - | BarSegmentField - | LineSegmentField - | AreaSegmentField - | PieSegmentField - | TableFields - >; - animation: FieldAdjuster; - }; -}; - -type PieAdjusters = BaseAdjusters & { - fields: { - y: { componentId: FieldAdjuster }; - segment: FieldAdjuster< - PieConfig, - | ColumnSegmentField - | BarSegmentField - | LineSegmentField - | AreaSegmentField - | ScatterPlotSegmentField - | TableFields - >; - animation: FieldAdjuster; - }; -}; - -type TableAdjusters = { - cubes: FieldAdjuster; - fields: FieldAdjuster< - TableConfig, - | ColumnSegmentField - | BarSegmentField - | LineSegmentField - | AreaSegmentField - | ScatterPlotSegmentField - | PieSegmentField - >; -}; - -type MapAdjusters = BaseAdjusters & { - fields: { - areaLayer: { - componentId: FieldAdjuster; - color: { - componentId: FieldAdjuster; - }; - }; - animation: FieldAdjuster; - }; -}; - -type ComboLineSingleAdjusters = BaseAdjusters & { - fields: { - x: { componentId: FieldAdjuster }; - y: { componentIds: FieldAdjuster }; - }; -}; - -type ComboLineDualAdjusters = BaseAdjusters & { - fields: { - x: { componentId: FieldAdjuster }; - y: FieldAdjuster< - ComboLineDualConfig, - | AreaFields - | ColumnFields - | BarFields - | LineFields - | MapFields - | PieFields - | ScatterPlotFields - | TableFields - | ComboLineSingleFields - | ComboLineColumnFields - >; - }; -}; - -type ComboLineColumnAdjusters = BaseAdjusters & { - fields: { - x: { componentId: FieldAdjuster }; - y: FieldAdjuster< - ComboLineColumnConfig, - | AreaFields - | ColumnFields - | BarFields - | LineFields - | MapFields - | PieFields - | ScatterPlotFields - | TableFields - | ComboLineSingleFields - | ComboLineDualFields - >; - }; -}; - -export type ChartConfigsAdjusters = { - column: ColumnAdjusters; - bar: BarAdjusters; - line: LineAdjusters; - area: AreaAdjusters; - scatterplot: ScatterPlotAdjusters; - pie: PieAdjusters; - table: TableAdjusters; - map: MapAdjusters; - comboLineSingle: ComboLineSingleAdjusters; - comboLineDual: ComboLineDualAdjusters; - comboLineColumn: ComboLineColumnAdjusters; -}; - const DataSource = t.type({ type: t.union([t.literal("sql"), t.literal("sparql")]), url: t.string, From dbc529e23100afdf009cae2026bc10bea2ce751b Mon Sep 17 00:00:00 2001 From: Bartosz Prusinowski Date: Tue, 7 Jan 2025 09:52:15 +0100 Subject: [PATCH 02/12] refactor: Extract config-utils from config-types ...to avoid module import problems when generating JSON Schemas off the config-types file. --- app/charts/bar/bars-grouped-state-props.ts | 5 +- app/charts/bar/bars-stacked-state-props.ts | 5 +- app/charts/bar/bars-state-props.ts | 3 +- app/charts/bar/chart-bar.tsx | 3 +- app/charts/chart-config-ui-options.ts | 14 +- app/charts/column/chart-column.tsx | 3 +- .../column/columns-grouped-state-props.ts | 5 +- .../column/columns-stacked-state-props.ts | 5 +- app/charts/column/columns-state-props.ts | 3 +- .../combo/combo-line-column-state-props.ts | 5 +- app/charts/map/chart-map.tsx | 6 +- app/charts/map/map-state-props.ts | 3 +- app/charts/pie/chart-pie.tsx | 3 +- app/charts/pie/pie-state-props.ts | 3 +- app/charts/scatterplot/chart-scatterplot.tsx | 4 +- .../scatterplot/scatterplot-state-props.ts | 3 +- app/charts/shared/chart-data-filters.tsx | 2 +- app/charts/shared/chart-helpers.tsx | 2 +- app/charts/shared/legend-color.tsx | 8 +- .../shared/use-sync-interactive-filters.tsx | 2 +- app/components/chart-preview.tsx | 2 +- app/components/chart-published.tsx | 2 +- app/components/chart-selection-tabs.tsx | 2 +- app/components/chart-shared.tsx | 2 +- app/components/debug-panel/DebugPanel.tsx | 7 +- app/config-types.spec.ts | 2 +- app/config-types.ts | 131 +++--------------- app/config-utils.ts | 111 +++++++++++++++ .../components/add-dataset-dialog.tsx | 7 +- .../components/annotation-options.tsx | 5 +- app/configurator/components/annotators.tsx | 2 +- app/configurator/components/badges.tsx | 2 +- .../components/chart-configurator.tsx | 11 +- .../chart-controls/color-palette.tsx | 4 +- .../components/chart-controls/color-ramp.tsx | 6 +- .../components/chart-options-selector.tsx | 12 +- .../components/chart-type-selector.tsx | 7 +- app/configurator/components/configurator.tsx | 18 +-- .../components/dataset-control-section.tsx | 2 +- app/configurator/components/field.tsx | 7 +- app/configurator/components/filters.tsx | 6 +- .../components/layout-configurator.tsx | 2 +- app/configurator/config-form.tsx | 2 +- app/configurator/configurator-state/index.tsx | 8 +- .../configurator-state/reducer.spec.tsx | 2 +- .../configurator-state/reducer.tsx | 3 +- .../interactive-filters-config-state.tsx | 3 +- .../interactive-filters-configurator.tsx | 2 +- .../table/table-chart-configurator.hook.tsx | 7 +- .../table/table-chart-options.tsx | 2 +- .../table/table-chart-sorting-options.tsx | 2 +- app/pages/v/[chartId].tsx | 3 +- 52 files changed, 247 insertions(+), 224 deletions(-) create mode 100644 app/config-utils.ts diff --git a/app/charts/bar/bars-grouped-state-props.ts b/app/charts/bar/bars-grouped-state-props.ts index 201aecb2a..23884670a 100644 --- a/app/charts/bar/bars-grouped-state-props.ts +++ b/app/charts/bar/bars-grouped-state-props.ts @@ -22,8 +22,9 @@ import { useSegmentVariables, } from "@/charts/shared/chart-state"; import { useRenderingKeyVariable } from "@/charts/shared/rendering-utils"; -import { BarConfig, useChartConfigFilters } from "@/configurator"; -import { Observation, isTemporalEntityDimension } from "@/domain/data"; +import { useChartConfigFilters } from "@/config-utils"; +import { BarConfig } from "@/configurator"; +import { isTemporalEntityDimension, Observation } from "@/domain/data"; import { sortByIndex } from "@/utils/array"; import { ChartProps } from "../shared/ChartProps"; diff --git a/app/charts/bar/bars-stacked-state-props.ts b/app/charts/bar/bars-stacked-state-props.ts index dcffa2a00..7e75fc11b 100644 --- a/app/charts/bar/bars-stacked-state-props.ts +++ b/app/charts/bar/bars-stacked-state-props.ts @@ -19,8 +19,9 @@ import { useSegmentVariables, } from "@/charts/shared/chart-state"; import { useRenderingKeyVariable } from "@/charts/shared/rendering-utils"; -import { BarConfig, useChartConfigFilters } from "@/configurator"; -import { Observation, isTemporalEntityDimension } from "@/domain/data"; +import { useChartConfigFilters } from "@/config-utils"; +import { BarConfig } from "@/configurator"; +import { isTemporalEntityDimension, Observation } from "@/domain/data"; import { sortByIndex } from "@/utils/array"; import { ChartProps } from "../shared/ChartProps"; diff --git a/app/charts/bar/bars-state-props.ts b/app/charts/bar/bars-state-props.ts index 0a9c40906..ea7374b5d 100644 --- a/app/charts/bar/bars-state-props.ts +++ b/app/charts/bar/bars-state-props.ts @@ -19,7 +19,8 @@ import { useNumericalXVariables, } from "@/charts/shared/chart-state"; import { useRenderingKeyVariable } from "@/charts/shared/rendering-utils"; -import { BarConfig, useChartConfigFilters } from "@/configurator"; +import { useChartConfigFilters } from "@/config-utils"; +import { BarConfig } from "@/configurator"; import { isTemporalEntityDimension } from "@/domain/data"; import { ChartProps } from "../shared/ChartProps"; diff --git a/app/charts/bar/chart-bar.tsx b/app/charts/bar/chart-bar.tsx index d4d791577..6b622fade 100644 --- a/app/charts/bar/chart-bar.tsx +++ b/app/charts/bar/chart-bar.tsx @@ -24,7 +24,8 @@ import { } from "@/charts/shared/containers"; import { Tooltip } from "@/charts/shared/interaction/tooltip"; import { LegendColor } from "@/charts/shared/legend-color"; -import { BarConfig, useChartConfigFilters } from "@/config-types"; +import { BarConfig } from "@/config-types"; +import { useChartConfigFilters } from "@/config-utils"; import { hasChartConfigs } from "@/configurator"; import { TimeSlider } from "@/configurator/interactive-filters/time-slider"; import { useConfiguratorState } from "@/src"; diff --git a/app/charts/chart-config-ui-options.ts b/app/charts/chart-config-ui-options.ts index 9f848270f..afba69c72 100644 --- a/app/charts/chart-config-ui-options.ts +++ b/app/charts/chart-config-ui-options.ts @@ -29,6 +29,8 @@ import { ComboLineSingleConfig, ComponentType, GenericField, + getAnimationField, + isSortingInConfig, LineConfig, MapConfig, PaletteType, @@ -37,25 +39,23 @@ import { SortingOrder, SortingType, TableConfig, - getAnimationField, - isSortingInConfig, - makeMultiFilter, } from "@/config-types"; +import { makeMultiFilter } from "@/config-utils"; import { getFieldLabel } from "@/configurator/components/field-i18n"; import { mapValueIrisToColor } from "@/configurator/components/ui-helpers"; import { ANIMATION_ENABLED_COMPONENTS, Component, Dimension, - MULTI_FILTER_ENABLED_COMPONENTS, - Measure, - Observation, - SEGMENT_ENABLED_COMPONENTS, isNumericalMeasure, isOrdinalMeasure, isTemporalDimension, isTemporalEntityDimension, isTemporalOrdinalDimension, + Measure, + MULTI_FILTER_ENABLED_COMPONENTS, + Observation, + SEGMENT_ENABLED_COMPONENTS, } from "@/domain/data"; import { getDefaultCategoricalPaletteName, getPalette } from "@/palettes"; diff --git a/app/charts/column/chart-column.tsx b/app/charts/column/chart-column.tsx index 0d2e7a1a4..0b4f4f618 100644 --- a/app/charts/column/chart-column.tsx +++ b/app/charts/column/chart-column.tsx @@ -24,7 +24,8 @@ import { } from "@/charts/shared/containers"; import { Tooltip } from "@/charts/shared/interaction/tooltip"; import { LegendColor } from "@/charts/shared/legend-color"; -import { ColumnConfig, useChartConfigFilters } from "@/config-types"; +import { ColumnConfig } from "@/config-types"; +import { useChartConfigFilters } from "@/config-utils"; import { hasChartConfigs } from "@/configurator"; import { TimeSlider } from "@/configurator/interactive-filters/time-slider"; import { useConfiguratorState } from "@/src"; diff --git a/app/charts/column/columns-grouped-state-props.ts b/app/charts/column/columns-grouped-state-props.ts index ccf4aa85a..d2dc1ef81 100644 --- a/app/charts/column/columns-grouped-state-props.ts +++ b/app/charts/column/columns-grouped-state-props.ts @@ -22,8 +22,9 @@ import { useSegmentVariables, } from "@/charts/shared/chart-state"; import { useRenderingKeyVariable } from "@/charts/shared/rendering-utils"; -import { ColumnConfig, useChartConfigFilters } from "@/configurator"; -import { Observation, isTemporalEntityDimension } from "@/domain/data"; +import { useChartConfigFilters } from "@/config-utils"; +import { ColumnConfig } from "@/configurator"; +import { isTemporalEntityDimension, Observation } from "@/domain/data"; import { sortByIndex } from "@/utils/array"; import { ChartProps } from "../shared/ChartProps"; diff --git a/app/charts/column/columns-stacked-state-props.ts b/app/charts/column/columns-stacked-state-props.ts index 678910678..8478cef1f 100644 --- a/app/charts/column/columns-stacked-state-props.ts +++ b/app/charts/column/columns-stacked-state-props.ts @@ -19,8 +19,9 @@ import { useSegmentVariables, } from "@/charts/shared/chart-state"; import { useRenderingKeyVariable } from "@/charts/shared/rendering-utils"; -import { ColumnConfig, useChartConfigFilters } from "@/configurator"; -import { Observation, isTemporalEntityDimension } from "@/domain/data"; +import { useChartConfigFilters } from "@/config-utils"; +import { ColumnConfig } from "@/configurator"; +import { isTemporalEntityDimension, Observation } from "@/domain/data"; import { sortByIndex } from "@/utils/array"; import { ChartProps } from "../shared/ChartProps"; diff --git a/app/charts/column/columns-state-props.ts b/app/charts/column/columns-state-props.ts index 428f22f62..f76528734 100644 --- a/app/charts/column/columns-state-props.ts +++ b/app/charts/column/columns-state-props.ts @@ -19,7 +19,8 @@ import { useNumericalYVariables, } from "@/charts/shared/chart-state"; import { useRenderingKeyVariable } from "@/charts/shared/rendering-utils"; -import { ColumnConfig, useChartConfigFilters } from "@/configurator"; +import { useChartConfigFilters } from "@/config-utils"; +import { ColumnConfig } from "@/configurator"; import { isTemporalEntityDimension } from "@/domain/data"; import { ChartProps } from "../shared/ChartProps"; diff --git a/app/charts/combo/combo-line-column-state-props.ts b/app/charts/combo/combo-line-column-state-props.ts index 355bd5118..2c5ec08e2 100644 --- a/app/charts/combo/combo-line-column-state-props.ts +++ b/app/charts/combo/combo-line-column-state-props.ts @@ -12,15 +12,16 @@ import { ChartStateData, InteractiveFiltersVariables, RenderingVariables, - SortingVariables, shouldUseDynamicMinScaleValue, + SortingVariables, useBandXVariables, useBaseVariables, useChartData, useInteractiveFiltersVariables, } from "@/charts/shared/chart-state"; import { useRenderingKeyVariable } from "@/charts/shared/rendering-utils"; -import { ComboLineColumnConfig, useChartConfigFilters } from "@/configurator"; +import { useChartConfigFilters } from "@/config-utils"; +import { ComboLineColumnConfig } from "@/configurator"; import { ChartProps } from "../shared/ChartProps"; diff --git a/app/charts/map/chart-map.tsx b/app/charts/map/chart-map.tsx index d69764370..a704a2215 100644 --- a/app/charts/map/chart-map.tsx +++ b/app/charts/map/chart-map.tsx @@ -11,12 +11,13 @@ import { ChartControlsContainer, } from "@/charts/shared/containers"; import { NoGeometriesHint } from "@/components/hint"; -import { Cube, MapConfig, useChartConfigFilters } from "@/config-types"; +import { Cube, MapConfig } from "@/config-types"; +import { useChartConfigFilters } from "@/config-utils"; import { TimeSlider } from "@/configurator/interactive-filters/time-slider"; import { + dimensionValuesToGeoCoordinates, GeoCoordinates, GeoShapes, - dimensionValuesToGeoCoordinates, } from "@/domain/data"; import { useDataCubesComponentsQuery } from "@/graphql/hooks"; import { getResolvedJoinById, isJoinById } from "@/graphql/join"; @@ -180,6 +181,7 @@ const ChartMap = memo((props: ChartMapProps) => { const { chartConfig, dimensions, observations } = props; const { fields } = chartConfig; const filters = useChartConfigFilters(chartConfig); + return ( diff --git a/app/charts/map/map-state-props.ts b/app/charts/map/map-state-props.ts index f97a2fe59..bfcc07d62 100644 --- a/app/charts/map/map-state-props.ts +++ b/app/charts/map/map-state-props.ts @@ -16,7 +16,8 @@ import { useBaseVariables, useChartData, } from "@/charts/shared/chart-state"; -import { MapConfig, useChartConfigFilters } from "@/configurator"; +import { useChartConfigFilters } from "@/config-utils"; +import { MapConfig } from "@/configurator"; import { GeoData, GeoPoint, diff --git a/app/charts/pie/chart-pie.tsx b/app/charts/pie/chart-pie.tsx index a83aff54d..1d489a566 100644 --- a/app/charts/pie/chart-pie.tsx +++ b/app/charts/pie/chart-pie.tsx @@ -11,7 +11,8 @@ import { import { Tooltip } from "@/charts/shared/interaction/tooltip"; import { LegendColor } from "@/charts/shared/legend-color"; import { OnlyNegativeDataHint } from "@/components/hint"; -import { PieConfig, useChartConfigFilters } from "@/config-types"; +import { PieConfig } from "@/config-types"; +import { useChartConfigFilters } from "@/config-utils"; import { TimeSlider } from "@/configurator/interactive-filters/time-slider"; import { ChartProps, VisualizationProps } from "../shared/ChartProps"; diff --git a/app/charts/pie/pie-state-props.ts b/app/charts/pie/pie-state-props.ts index 6a8580e71..e05de7f22 100644 --- a/app/charts/pie/pie-state-props.ts +++ b/app/charts/pie/pie-state-props.ts @@ -11,7 +11,8 @@ import { useSegmentVariables, } from "@/charts/shared/chart-state"; import { useRenderingKeyVariable } from "@/charts/shared/rendering-utils"; -import { PieConfig, useChartConfigFilters } from "@/configurator"; +import { useChartConfigFilters } from "@/config-utils"; +import { PieConfig } from "@/configurator"; import { ChartProps } from "../shared/ChartProps"; diff --git a/app/charts/scatterplot/chart-scatterplot.tsx b/app/charts/scatterplot/chart-scatterplot.tsx index 507a6994d..801d4df35 100644 --- a/app/charts/scatterplot/chart-scatterplot.tsx +++ b/app/charts/scatterplot/chart-scatterplot.tsx @@ -19,7 +19,8 @@ import { import { Tooltip } from "@/charts/shared/interaction/tooltip"; import { LegendColor } from "@/charts/shared/legend-color"; import { InteractionVoronoi } from "@/charts/shared/overlay-voronoi"; -import { ScatterPlotConfig, useChartConfigFilters } from "@/config-types"; +import { ScatterPlotConfig } from "@/config-types"; +import { useChartConfigFilters } from "@/config-utils"; import { TimeSlider } from "@/configurator/interactive-filters/time-slider"; import { ChartProps, VisualizationProps } from "../shared/ChartProps"; @@ -35,6 +36,7 @@ const ChartScatterplot = memo((props: ChartProps) => { const { chartConfig, dimensions } = props; const { fields, interactiveFiltersConfig } = chartConfig; const filters = useChartConfigFilters(chartConfig); + return ( diff --git a/app/charts/scatterplot/scatterplot-state-props.ts b/app/charts/scatterplot/scatterplot-state-props.ts index 76ade26f0..c989bbc55 100644 --- a/app/charts/scatterplot/scatterplot-state-props.ts +++ b/app/charts/scatterplot/scatterplot-state-props.ts @@ -13,7 +13,8 @@ import { useSegmentVariables, } from "@/charts/shared/chart-state"; import { useRenderingKeyVariable } from "@/charts/shared/rendering-utils"; -import { ScatterPlotConfig, useChartConfigFilters } from "@/configurator"; +import { useChartConfigFilters } from "@/config-utils"; +import { ScatterPlotConfig } from "@/configurator"; import { ChartProps } from "../shared/ChartProps"; diff --git a/app/charts/shared/chart-data-filters.tsx b/app/charts/shared/chart-data-filters.tsx index fad510e1f..0b5c06245 100644 --- a/app/charts/shared/chart-data-filters.tsx +++ b/app/charts/shared/chart-data-filters.tsx @@ -18,6 +18,7 @@ import { Select } from "@/components/form"; import { Loading } from "@/components/hint"; import { OpenMetadataPanelWrapper } from "@/components/metadata-panel"; import SelectTree, { Tree } from "@/components/select-tree"; +import { useChartConfigFilters } from "@/config-utils"; import { areDataFiltersActive, ChartConfig, @@ -26,7 +27,6 @@ import { Filters, getFiltersByMappingStatus, SingleFilters, - useChartConfigFilters, useConfiguratorState, } from "@/configurator"; import { FieldLabel, LoadingIndicator } from "@/configurator/components/field"; diff --git a/app/charts/shared/chart-helpers.tsx b/app/charts/shared/chart-helpers.tsx index a0ca20a1d..91c5f1556 100644 --- a/app/charts/shared/chart-helpers.tsx +++ b/app/charts/shared/chart-helpers.tsx @@ -20,12 +20,12 @@ import { InteractiveFiltersTimeRange, MapConfig, } from "@/config-types"; +import { getChartConfigFilters } from "@/config-utils"; import { CategoricalColorField, ComboChartConfig, DashboardFiltersConfig, GenericField, - getChartConfigFilters, isComboChartConfig, NumericalColorField, } from "@/configurator"; diff --git a/app/charts/shared/legend-color.tsx b/app/charts/shared/legend-color.tsx index a8d4a8b79..68bdce7f2 100644 --- a/app/charts/shared/legend-color.tsx +++ b/app/charts/shared/legend-color.tsx @@ -13,21 +13,21 @@ import { Checkbox, CheckboxProps } from "@/components/form"; import { MaybeTooltip } from "@/components/maybe-tooltip"; import { OpenMetadataPanelWrapper } from "@/components/metadata-panel"; import { TooltipTitle } from "@/components/tooltip-utils"; +import { useChartConfigFilters } from "@/config-utils"; import { ChartConfig, GenericSegmentField, - MapConfig, isSegmentInConfig, - useChartConfigFilters, + MapConfig, useReadOnlyConfiguratorState, } from "@/configurator"; import { Component, Dimension, - Measure, - Observation, isOrdinalDimension, isOrdinalMeasure, + Measure, + Observation, } from "@/domain/data"; import SvgIcChevronRight from "@/icons/components/IcChevronRight"; import { useChartInteractiveFilters } from "@/stores/interactive-filters"; diff --git a/app/charts/shared/use-sync-interactive-filters.tsx b/app/charts/shared/use-sync-interactive-filters.tsx index 9ba7cb4fe..e278440c7 100644 --- a/app/charts/shared/use-sync-interactive-filters.tsx +++ b/app/charts/shared/use-sync-interactive-filters.tsx @@ -5,8 +5,8 @@ import { DashboardFiltersConfig, FilterValueSingle, isSegmentInConfig, - useChartConfigFilters, } from "@/config-types"; +import { useChartConfigFilters } from "@/config-utils"; import { parseDate } from "@/configurator/components/ui-helpers"; import { FIELD_VALUE_NONE } from "@/configurator/constants"; import useFilterChanges from "@/configurator/use-filter-changes"; diff --git a/app/components/chart-preview.tsx b/app/components/chart-preview.tsx index 6e7082bc7..3be409981 100644 --- a/app/components/chart-preview.tsx +++ b/app/components/chart-preview.tsx @@ -51,10 +51,10 @@ import { MetadataPanelStoreContext, } from "@/components/metadata-panel-store"; import { BANNER_MARGIN_TOP } from "@/components/presence"; +import { getChartConfig } from "@/config-utils"; import { ChartConfig, DataSource, - getChartConfig, hasChartConfigs, isConfiguring, Layout, diff --git a/app/components/chart-published.tsx b/app/components/chart-published.tsx index 5702645dd..d2e84cf9a 100644 --- a/app/components/chart-published.tsx +++ b/app/components/chart-published.tsx @@ -31,11 +31,11 @@ import { createMetadataPanelStore, MetadataPanelStoreContext, } from "@/components/metadata-panel-store"; +import { getChartConfig } from "@/config-utils"; import { ChartConfig, ConfiguratorStatePublished, DataSource, - getChartConfig, isPublished, useConfiguratorState, } from "@/configurator"; diff --git a/app/components/chart-selection-tabs.tsx b/app/components/chart-selection-tabs.tsx index ccc921bd3..83bc79ea2 100644 --- a/app/components/chart-selection-tabs.tsx +++ b/app/components/chart-selection-tabs.tsx @@ -19,12 +19,12 @@ import { DragHandle } from "@/components/drag-handle"; import Flex from "@/components/flex"; import { MenuActionItem } from "@/components/menu-action-item"; import { VisualizeTab, VisualizeTabList } from "@/components/tabs"; +import { getChartConfig } from "@/config-utils"; import { ChartConfig, ChartType, ConfiguratorStatePublished, ConfiguratorStateWithChartConfigs, - getChartConfig, hasChartConfigs, isConfiguring, isLayouting, diff --git a/app/components/chart-shared.tsx b/app/components/chart-shared.tsx index 03bb67893..c192b8f5b 100644 --- a/app/components/chart-shared.tsx +++ b/app/components/chart-shared.tsx @@ -38,11 +38,11 @@ import { import { useChartWithFiltersClasses } from "@/components/chart-with-filters"; import { MenuActionItem } from "@/components/menu-action-item"; import { MetadataPanel } from "@/components/metadata-panel"; +import { getChartConfig } from "@/config-utils"; import { ChartConfig, DashboardFiltersConfig, DataSource, - getChartConfig, hasChartConfigs, isConfiguring, isPublished, diff --git a/app/components/debug-panel/DebugPanel.tsx b/app/components/debug-panel/DebugPanel.tsx index 779ed2dd4..6776d4a51 100644 --- a/app/components/debug-panel/DebugPanel.tsx +++ b/app/components/debug-panel/DebugPanel.tsx @@ -15,11 +15,8 @@ import { makeStyles } from "@mui/styles"; import { useState } from "react"; import { Inspector } from "react-inspector"; -import { - DataSource, - getChartConfig, - useConfiguratorState, -} from "@/configurator"; +import { getChartConfig } from "@/config-utils"; +import { DataSource, useConfiguratorState } from "@/configurator"; import { dataSourceToSparqlEditorUrl } from "@/domain/datasource"; import { useDataCubesComponentsQuery } from "@/graphql/hooks"; import { Icon } from "@/icons"; diff --git a/app/config-types.spec.ts b/app/config-types.spec.ts index 8f8efa4cc..7b8fba0fb 100644 --- a/app/config-types.spec.ts +++ b/app/config-types.spec.ts @@ -1,4 +1,4 @@ -import { getChartConfigFilters } from "./config-types"; +import { getChartConfigFilters } from "./config-utils"; describe("getChartConfigFilters", () => { it("should return filters for a specific cube with joinBy (joined = true)", () => { diff --git a/app/config-types.ts b/app/config-types.ts index 09a0b9aa7..bc78cd633 100644 --- a/app/config-types.ts +++ b/app/config-types.ts @@ -2,10 +2,6 @@ import { fold } from "fp-ts/lib/Either"; import { pipe } from "fp-ts/lib/function"; import * as t from "io-ts"; -import { useMemo } from "react"; - -import { ObservationValue } from "@/domain/data"; -import { mkJoinById } from "@/graphql/join"; const DimensionType = t.union([ t.literal("NominalDimension"), @@ -31,48 +27,33 @@ const ComponentType = t.union([DimensionType, MeasureType]); export type ComponentType = t.TypeOf; // Filters -const FilterValueMulti = t.intersection([ +const FilterValueSingle = t.intersection([ t.type( { - type: t.literal("multi"), - values: t.record(t.string, t.literal(true)), // undefined values will be removed when serializing to JSON + type: t.literal("single"), + value: t.union([t.string, t.number]), }, - "FilterValueMulti" + "FilterValueSingle" ), t.partial({ position: t.number, }), ]); -export type FilterValueMulti = t.TypeOf; - -export const makeMultiFilter = ( - values: ObservationValue[] -): FilterValueMulti => { - return { - type: "multi", - values: Object.fromEntries(values.map((d) => [d, true])), - }; -}; +export type FilterValueSingle = t.TypeOf; -const FilterValueSingle = t.intersection([ +const FilterValueMulti = t.intersection([ t.type( { - type: t.literal("single"), - value: t.union([t.string, t.number]), + type: t.literal("multi"), + values: t.record(t.string, t.literal(true)), // undefined values will be removed when serializing to JSON }, - "FilterValueSingle" + "FilterValueMulti" ), t.partial({ position: t.number, }), ]); -export type FilterValueSingle = t.TypeOf; - -const isFilterValueSingle = ( - filterValue: FilterValue -): filterValue is FilterValueSingle => { - return filterValue.type === "single"; -}; +export type FilterValueMulti = t.TypeOf; const FilterValueRange = t.intersection([ t.type( @@ -105,15 +86,6 @@ export type Filters = t.TypeOf; const SingleFilters = t.record(t.string, FilterValueSingle, "SingleFilters"); export type SingleFilters = t.TypeOf; -export const isSingleFilters = (filters: Filters): filters is SingleFilters => { - return Object.values(filters).every(isFilterValueSingle); -}; -export const extractSingleFilters = (filters: Filters): SingleFilters => { - return Object.fromEntries( - Object.entries(filters).filter(([, value]) => value.type === "single") - ) as SingleFilters; -}; - const Title = t.type({ de: t.string, fr: t.string, @@ -121,6 +93,7 @@ const Title = t.type({ en: t.string, }); export type Title = t.TypeOf; + const Description = t.type({ de: t.string, fr: t.string, @@ -128,6 +101,7 @@ const Description = t.type({ en: t.string, }); export type Description = t.TypeOf; + const Label = t.type({ de: t.string, fr: t.string, @@ -135,6 +109,7 @@ const Label = t.type({ en: t.string, }); export type Label = t.TypeOf; + const Meta = t.type({ title: Title, description: Description, @@ -660,7 +635,7 @@ export type MapAreaLayer = t.TypeOf; const MapSymbolLayer = t.type({ componentId: t.string, - // symbol radius (size) + /** symbol radius (size) */ measureId: t.string, color: t.union([FixedColorField, CategoricalColorField, NumericalColorField]), }); @@ -794,7 +769,7 @@ const ComboChartConfig = t.union([ ]); export type ComboChartConfig = t.TypeOf; -const ChartConfig = t.union([RegularChartConfig, ComboChartConfig]); +export const ChartConfig = t.union([RegularChartConfig, ComboChartConfig]); export type ChartConfig = t.TypeOf; export const decodeChartConfig = ( @@ -1068,7 +1043,7 @@ export type DashboardFiltersConfig = t.TypeOf; export const areDataFiltersActive = ( dashboardFilters: DashboardFiltersConfig | undefined ) => { - return dashboardFilters?.dataFilters.componentIds.length; + return !!dashboardFilters?.dataFilters.componentIds.length; }; const Config = t.intersection([ @@ -1181,77 +1156,3 @@ export const decodeConfiguratorState = ( ) ); }; - -/** Use to extract the chart config from configurator state. Handy in the editor mode, - * where the is a need to edit the active chart config. - * - * @param state configurator state - * @param chartKey optional chart key. If not provided, the active chart config will be returned. - * - */ -export const getChartConfig = ( - state: ConfiguratorState, - chartKey?: string | null -): ChartConfig => { - if (state.state === "INITIAL" || state.state === "SELECTING_DATASET") { - throw Error("No chart config available!"); - } - - const { chartConfigs, activeChartKey } = state; - const key = chartKey ?? activeChartKey; - - return chartConfigs.find((d) => d.key === key) ?? chartConfigs[0]; -}; - -/** - * Get all filters from cubes and returns an object containing all values. - */ -export const getChartConfigFilters = ( - cubes: Cube[], - { - cubeIri, - joined, - }: { - /** If passed, only filters for a particular cube will be considered */ - cubeIri?: string; - /** - * If true, filters for joined dimensions will be deduped. Useful in contexts where filters - * for multiple join dimensions should be considered unique (for example, in the left data filters). - */ - joined?: boolean; - } = {} -): Filters => { - const relevantCubes = cubes.filter((c) => - cubeIri ? c.iri === cubeIri : true - ); - const dimIdToJoinId = joined - ? Object.fromEntries( - relevantCubes.flatMap((x) => - (x.joinBy ?? []).map( - (iri, index) => [iri, mkJoinById(index)] as const - ) - ) - ) - : {}; - - return Object.fromEntries( - relevantCubes.flatMap((c) => - Object.entries(c.filters).map(([id, value]) => [ - dimIdToJoinId[id] ?? id, - value, - ]) - ) - ); -}; - -export const useChartConfigFilters = ( - chartConfig: ChartConfig, - options?: Parameters[1] -): Filters => { - return useMemo(() => { - return getChartConfigFilters(chartConfig.cubes, { - cubeIri: options?.cubeIri, - joined: options?.joined, - }); - }, [chartConfig.cubes, options?.cubeIri, options?.joined]); -}; diff --git a/app/config-utils.ts b/app/config-utils.ts new file mode 100644 index 000000000..bcc6354d7 --- /dev/null +++ b/app/config-utils.ts @@ -0,0 +1,111 @@ +import { useMemo } from "react"; + +import { + ChartConfig, + ConfiguratorState, + Cube, + Filters, + FilterValue, + FilterValueMulti, + FilterValueSingle, + SingleFilters, +} from "@/config-types"; +import { ObservationValue } from "@/domain/data"; +import { mkJoinById } from "@/graphql/join"; + +const isFilterValueSingle = (v: FilterValue): v is FilterValueSingle => { + return v.type === "single"; +}; + +export const isSingleFilters = (filters: Filters): filters is SingleFilters => { + return Object.values(filters).every(isFilterValueSingle); +}; + +export const extractSingleFilters = (filters: Filters): SingleFilters => { + return Object.fromEntries( + Object.entries(filters).filter(([, value]) => value.type === "single") + ) as SingleFilters; +}; + +export const makeMultiFilter = ( + values: ObservationValue[] +): FilterValueMulti => { + return { + type: "multi", + values: Object.fromEntries(values.map((d) => [d, true])), + }; +}; + +/** Use to extract the chart config from configurator state. Handy in the editor mode, + * where the is a need to edit the active chart config. + * + * @param state configurator state + * @param chartKey optional chart key. If not provided, the active chart config will be returned. + * + */ +export const getChartConfig = ( + state: ConfiguratorState, + chartKey?: string | null +): ChartConfig => { + if (state.state === "INITIAL" || state.state === "SELECTING_DATASET") { + throw Error("No chart config available!"); + } + + const { chartConfigs, activeChartKey } = state; + const key = chartKey ?? activeChartKey; + + return chartConfigs.find((d) => d.key === key) ?? chartConfigs[0]; +}; + +/** + * Get all filters from cubes and returns an object containing all values. + */ +export const getChartConfigFilters = ( + cubes: Cube[], + { + cubeIri, + joined, + }: { + /** If passed, only filters for a particular cube will be considered */ + cubeIri?: string; + /** + * If true, filters for joined dimensions will be deduped. Useful in contexts where filters + * for multiple join dimensions should be considered unique (for example, in the left data filters). + */ + joined?: boolean; + } = {} +): Filters => { + const relevantCubes = cubes.filter((c) => + cubeIri ? c.iri === cubeIri : true + ); + const dimIdToJoinId = joined + ? Object.fromEntries( + relevantCubes.flatMap((x) => + (x.joinBy ?? []).map( + (iri, index) => [iri, mkJoinById(index)] as const + ) + ) + ) + : {}; + + return Object.fromEntries( + relevantCubes.flatMap((c) => + Object.entries(c.filters).map(([id, value]) => [ + dimIdToJoinId[id] ?? id, + value, + ]) + ) + ); +}; + +export const useChartConfigFilters = ( + chartConfig: ChartConfig, + options?: Parameters[1] +): Filters => { + return useMemo(() => { + return getChartConfigFilters(chartConfig.cubes, { + cubeIri: options?.cubeIri, + joined: options?.joined, + }); + }, [chartConfig.cubes, options?.cubeIri, options?.joined]); +}; diff --git a/app/configurator/components/add-dataset-dialog.tsx b/app/configurator/components/add-dataset-dialog.tsx index 16d247495..048280286 100644 --- a/app/configurator/components/add-dataset-dialog.tsx +++ b/app/configurator/components/add-dataset-dialog.tsx @@ -62,14 +62,13 @@ import { getEnabledChartTypes } from "@/charts"; import Flex from "@/components/flex"; import { Error as ErrorHint, Loading } from "@/components/hint"; import Tag from "@/components/tag"; +import { ConfiguratorStateConfiguringChart, DataSource } from "@/config-types"; +import { getChartConfig } from "@/config-utils"; import { addDatasetInConfig, - ConfiguratorStateConfiguringChart, - DataSource, - getChartConfig, isConfiguring, useConfiguratorState, -} from "@/configurator"; +} from "@/configurator/configurator-state"; import { Dimension, isJoinByComponent, diff --git a/app/configurator/components/annotation-options.tsx b/app/configurator/components/annotation-options.tsx index c95073cbb..9a31f5a27 100644 --- a/app/configurator/components/annotation-options.tsx +++ b/app/configurator/components/annotation-options.tsx @@ -1,7 +1,8 @@ import { Box, Button, Typography } from "@mui/material"; import { useEffect, useRef } from "react"; -import { Meta, getChartConfig } from "@/config-types"; +import { Meta } from "@/config-types"; +import { getChartConfig } from "@/config-utils"; import { isAnnotationField, isConfiguring, @@ -22,6 +23,7 @@ import useEvent from "@/utils/use-event"; export const ChartAnnotationsSelector = () => { const [state] = useConfiguratorState(isConfiguring); const chartConfig = getChartConfig(state); + return ( { export const LayoutAnnotationsSelector = () => { const [state] = useConfiguratorState(isLayouting); + return ( Date: Tue, 7 Jan 2025 10:00:31 +0100 Subject: [PATCH 03/12] chore: Add io-ts-to-json-schema --- app/package.json | 1 + yarn.lock | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/app/package.json b/app/package.json index 150cbaba4..b491246be 100644 --- a/app/package.json +++ b/app/package.json @@ -186,6 +186,7 @@ "babel-plugin-module-resolver": "^4.1.0", "eslint-plugin-deprecate": "^0.8.4", "eslint-plugin-jest": "^28.3.0", + "io-ts-to-json-schema": "^0.2.0", "jest": "^27.3.0", "playwright-testing-library": "^4.5.0", "prettier": "^3.2.5", diff --git a/yarn.lock b/yarn.lock index 8d43d8c4c..83cb26972 100644 --- a/yarn.lock +++ b/yarn.lock @@ -16818,6 +16818,13 @@ invariant@^2.2.1, invariant@^2.2.4: dependencies: loose-envify "^1.0.0" +io-ts-to-json-schema@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/io-ts-to-json-schema/-/io-ts-to-json-schema-0.2.0.tgz#658a65d8e96995a036eae7d8b0ca4ee3be5bf26f" + integrity sha512-M+mxEfbLAKM5U15eRAffDFjigp3y9GpSRYPEIX4r1v0KmnSeXZGrRDgfCrS9wOgXoaXlfG+/McfYZlWxIuWx4A== + dependencies: + "@types/json-schema" "^7.0.9" + io-ts@^2.2.21: version "2.2.21" resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-2.2.21.tgz#4ef754176f7082a1099d04c7d5c4ea53267c530a" From 8752e9ca7005b136fa013cbc71d02f5db045503c Mon Sep 17 00:00:00 2001 From: Bartosz Prusinowski Date: Tue, 7 Jan 2025 10:08:15 +0100 Subject: [PATCH 04/12] feat: Add generate-json-schema script --- app/config-types.ts | 2 +- app/scripts/generate-json-schema.ts | 52 +++++++++++++++++++++++++++++ package.json | 5 +-- 3 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 app/scripts/generate-json-schema.ts diff --git a/app/config-types.ts b/app/config-types.ts index bc78cd633..788260c79 100644 --- a/app/config-types.ts +++ b/app/config-types.ts @@ -1132,7 +1132,7 @@ export type ConfiguratorStatePublished = t.TypeOf< typeof ConfiguratorStatePublished >; -const ConfiguratorState = t.union([ +export const ConfiguratorState = t.union([ ConfiguratorStateInitial, ConfiguratorStateSelectingDataSet, ConfiguratorStateConfiguringChart, diff --git a/app/scripts/generate-json-schema.ts b/app/scripts/generate-json-schema.ts new file mode 100644 index 000000000..fc40aef97 --- /dev/null +++ b/app/scripts/generate-json-schema.ts @@ -0,0 +1,52 @@ +import { writeFileSync } from "fs"; + +import { toJsonSchema } from "io-ts-to-json-schema"; + +const { ChartConfig, ConfiguratorState } = require("../config-types"); + +const generateAndWriteJsonSchema = ({ + $id, + type, + title, + description, +}: { + $id: string; + type: any; + title: string; + description: string; +}) => { + const schema = { + $schema: "http://json-schema.org/draft-07/schema#", + $id, + type: "object", + title, + description, + properties: { + // Add the $schema property to the schema to enable IDE suggestions. + // Do not make it required, as it is not a part of the JSON schema spec. + $schema: { + type: "string", + const: $id, + }, + schema: toJsonSchema(type), + }, + }; + writeFileSync( + `./app/public/json-schema/${$id.split("/").pop()}`, + JSON.stringify(schema, null, 2) + ); +}; + +generateAndWriteJsonSchema({ + $id: "https://visualize.admin.ch/json-schema/chart-config.json", + type: ChartConfig, + title: "Chart Config", + description: "JSON Schema for visualize.admin chart configuration.", +}); + +generateAndWriteJsonSchema({ + $id: "https://visualize.admin.ch/json-schema/configurator-state.json", + type: ConfiguratorState, + title: "Configurator State", + description: "JSON Schema for visualize.admin configurator state.", +}); diff --git a/package.json b/package.json index 086753d5b..53ee6fd47 100644 --- a/package.json +++ b/package.json @@ -18,7 +18,7 @@ "dev:rollup": "rollup -c rollup.config.js --watch", "db:migrate:dev": "DATABASE_URL=postgres://postgres:password@localhost:5432/visualization_tool prisma db push", "db:migrate": "[ -z \"$DATABASE_URL\" ] && echo 'Bypassing database migration, DATABASE_URL not set' || prisma db push", - "build": "yarn graphql:codegen && lingui compile && rollup -c rollup.config.js && yarn storybook:build && next build ./app", + "build": "yarn graphql:codegen && lingui compile && rollup -c rollup.config.js && yarn storybook:build && yarn generate-json-schema && next build ./app", "build:npm": "yarn graphql:codegen && lingui compile && BABEL_ENV=NPM_PACKAGE preconstruct build", "start": "yarn db:migrate && GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE='' NO_PROXY='localhost,127.0.0.1' next start ./app -p $PORT", "typecheck": "lingui compile && tsc --noEmit -p ./app && tsc --noEmit -p ./embed", @@ -42,7 +42,8 @@ "storybook": "storybook dev -p 6006", "storybook:build": "storybook build -o app/public/storybook", "chromatic": "npx chromatic --build-script-name storybook:build -o app/public/storybook", - "compare-screenshots": "npx tsx scripts/compare-screenshots.ts" + "compare-screenshots": "npx tsx scripts/compare-screenshots.ts", + "generate-json-schema": "tsx -r dotenv/config app/scripts/generate-json-schema.ts" }, "dependencies": { "@babel/runtime": "^7.11.2", From e592023c5021b3f5caca694b0834cdc9aa26fbd3 Mon Sep 17 00:00:00 2001 From: Bartosz Prusinowski Date: Tue, 7 Jan 2025 10:08:31 +0100 Subject: [PATCH 05/12] chore: Codegen --- app/public/json-schema/chart-config.json | 7560 ++++ .../json-schema/configurator-state.json | 32272 ++++++++++++++++ 2 files changed, 39832 insertions(+) create mode 100644 app/public/json-schema/chart-config.json create mode 100644 app/public/json-schema/configurator-state.json diff --git a/app/public/json-schema/chart-config.json b/app/public/json-schema/chart-config.json new file mode 100644 index 000000000..0afc37d5c --- /dev/null +++ b/app/public/json-schema/chart-config.json @@ -0,0 +1,7560 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://visualize.admin.ch/json-schema/chart-config.json", + "type": "object", + "title": "Chart Config", + "description": "JSON Schema for visualize.admin chart configuration.", + "properties": { + "$schema": { + "type": "string", + "const": "https://visualize.admin.ch/json-schema/chart-config.json" + }, + "schema": { + "anyOf": [ + { + "anyOf": [ + { + "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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "AreaConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, 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<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>) }", + "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": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>", + "properties": { + "imputationType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "zeros", + "description": "\"zeros\"" + }, + { + "const": "linear", + "description": "\"linear\"" + } + ], + "description": "(\"none\" | \"zeros\" | \"linear\")" + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }>", + "properties": { + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + } + } + } + ], + "description": "({ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>) } & Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ColumnConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, 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<{ showStandardError: boolean, showConfidenceInterval: boolean }>) }", + "properties": { + "x": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + }, + "y": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>", + "properties": { + "showStandardError": { + "type": "boolean", + "description": "boolean" + }, + "showConfidenceInterval": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") }), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", + "properties": { + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + }, + { + "type": "object", + "description": "{ type: (\"stacked\" | \"grouped\") }", + "properties": { + "type": { + "anyOf": [ + { + "const": "stacked", + "description": "\"stacked\"" + }, + { + "const": "grouped", + "description": "\"grouped\"" + } + ], + "description": "(\"stacked\" | \"grouped\")" + } + }, + "required": [ + "type" + ] + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") })" + }, + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + } + ], + "description": "({ x: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>) } & Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") }), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "BarConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, 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<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }", + "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": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") }), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", + "properties": { + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + }, + { + "type": "object", + "description": "{ type: (\"stacked\" | \"grouped\") }", + "properties": { + "type": { + "anyOf": [ + { + "const": "stacked", + "description": "\"stacked\"" + }, + { + "const": "grouped", + "description": "\"grouped\"" + } + ], + "description": "(\"stacked\" | \"grouped\")" + } + }, + "required": [ + "type" + ] + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") })" + }, + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + } + ], + "description": "({ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) } & Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") }), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "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 }, 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": { + "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" + ] + }, + "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 }, 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<{ showStandardError: boolean, showConfidenceInterval: boolean }>) }", + "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": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>", + "properties": { + "showStandardError": { + "type": "boolean", + "description": "boolean" + }, + "showConfidenceInterval": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }>", + "properties": { + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + } + } + } + ], + "description": "({ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>) } & Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "MapConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + }, + "fields": { + "type": "object", + "description": "Partial<{ areaLayer: { componentId: string, color: (({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ 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, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ 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 }) }>", + "properties": { + "areaLayer": { + "type": "object", + "description": "{ componentId: string, color: (({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })) }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "color": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "type": { + "const": "categorical", + "description": "\"categorical\"" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "type", + "componentId", + "palette", + "colorMapping" + ] + }, + { + "type": "object", + "description": "Partial<{ useAbbreviations: boolean }>", + "properties": { + "useAbbreviations": { + "type": "boolean", + "description": "boolean" + } + } + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number })" + }, + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) }", + "properties": { + "type": { + "const": "numerical", + "description": "\"numerical\"" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "palette": { + "anyOf": [ + { + "anyOf": [ + { + "const": "BrBG", + "description": "\"BrBG\"" + }, + { + "const": "PiYG", + "description": "\"PiYG\"" + }, + { + "const": "PRGn", + "description": "\"PRGn\"" + }, + { + "const": "PuOr", + "description": "\"PuOr\"" + }, + { + "const": "RdBu", + "description": "\"RdBu\"" + }, + { + "const": "RdYlBu", + "description": "\"RdYlBu\"" + }, + { + "const": "RdYlGn", + "description": "\"RdYlGn\"" + } + ], + "description": "(\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\")" + }, + { + "anyOf": [ + { + "const": "blues", + "description": "\"blues\"" + }, + { + "const": "greens", + "description": "\"greens\"" + }, + { + "const": "greys", + "description": "\"greys\"" + }, + { + "const": "oranges", + "description": "\"oranges\"" + }, + { + "const": "purples", + "description": "\"purples\"" + }, + { + "const": "reds", + "description": "\"reds\"" + } + ], + "description": "(\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")" + } + ], + "description": "((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\"))" + } + }, + "required": [ + "type", + "componentId", + "palette" + ] + }, + { + "anyOf": [ + { + "type": "object", + "description": "{ scaleType: \"continuous\", interpolationType: \"linear\" }", + "properties": { + "scaleType": { + "const": "continuous", + "description": "\"continuous\"" + }, + "interpolationType": { + "const": "linear", + "description": "\"linear\"" + } + }, + "required": [ + "scaleType", + "interpolationType" + ] + }, + { + "type": "object", + "description": "{ scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }", + "properties": { + "scaleType": { + "const": "discrete", + "description": "\"discrete\"" + }, + "interpolationType": { + "anyOf": [ + { + "const": "quantize", + "description": "\"quantize\"" + }, + { + "const": "quantile", + "description": "\"quantile\"" + }, + { + "const": "jenks", + "description": "\"jenks\"" + } + ], + "description": "(\"quantize\" | \"quantile\" | \"jenks\")" + }, + "nbClass": { + "type": "number", + "description": "number" + } + }, + "required": [ + "scaleType", + "interpolationType", + "nbClass" + ] + } + ], + "description": "({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number })" + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })" + } + ], + "description": "(({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number }))" + } + }, + "required": [ + "componentId", + "color" + ] + }, + "symbolLayer": { + "type": "object", + "description": "{ componentId: string, measureId: string, color: (({ type: \"fixed\", value: string } & { opacity: number }) | ({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })) }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "measureId": { + "type": "string", + "description": "string" + }, + "color": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"fixed\", value: string }", + "properties": { + "type": { + "const": "fixed", + "description": "\"fixed\"" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"fixed\", value: string } & { opacity: number })" + }, + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "type": { + "const": "categorical", + "description": "\"categorical\"" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "type", + "componentId", + "palette", + "colorMapping" + ] + }, + { + "type": "object", + "description": "Partial<{ useAbbreviations: boolean }>", + "properties": { + "useAbbreviations": { + "type": "boolean", + "description": "boolean" + } + } + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number })" + }, + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) }", + "properties": { + "type": { + "const": "numerical", + "description": "\"numerical\"" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "palette": { + "anyOf": [ + { + "anyOf": [ + { + "const": "BrBG", + "description": "\"BrBG\"" + }, + { + "const": "PiYG", + "description": "\"PiYG\"" + }, + { + "const": "PRGn", + "description": "\"PRGn\"" + }, + { + "const": "PuOr", + "description": "\"PuOr\"" + }, + { + "const": "RdBu", + "description": "\"RdBu\"" + }, + { + "const": "RdYlBu", + "description": "\"RdYlBu\"" + }, + { + "const": "RdYlGn", + "description": "\"RdYlGn\"" + } + ], + "description": "(\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\")" + }, + { + "anyOf": [ + { + "const": "blues", + "description": "\"blues\"" + }, + { + "const": "greens", + "description": "\"greens\"" + }, + { + "const": "greys", + "description": "\"greys\"" + }, + { + "const": "oranges", + "description": "\"oranges\"" + }, + { + "const": "purples", + "description": "\"purples\"" + }, + { + "const": "reds", + "description": "\"reds\"" + } + ], + "description": "(\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")" + } + ], + "description": "((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\"))" + } + }, + "required": [ + "type", + "componentId", + "palette" + ] + }, + { + "anyOf": [ + { + "type": "object", + "description": "{ scaleType: \"continuous\", interpolationType: \"linear\" }", + "properties": { + "scaleType": { + "const": "continuous", + "description": "\"continuous\"" + }, + "interpolationType": { + "const": "linear", + "description": "\"linear\"" + } + }, + "required": [ + "scaleType", + "interpolationType" + ] + }, + { + "type": "object", + "description": "{ scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }", + "properties": { + "scaleType": { + "const": "discrete", + "description": "\"discrete\"" + }, + "interpolationType": { + "anyOf": [ + { + "const": "quantize", + "description": "\"quantize\"" + }, + { + "const": "quantile", + "description": "\"quantile\"" + }, + { + "const": "jenks", + "description": "\"jenks\"" + } + ], + "description": "(\"quantize\" | \"quantile\" | \"jenks\")" + }, + "nbClass": { + "type": "number", + "description": "number" + } + }, + "required": [ + "scaleType", + "interpolationType", + "nbClass" + ] + } + ], + "description": "({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number })" + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })" + } + ], + "description": "(({ type: \"fixed\", value: string } & { opacity: number }) | ({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number }))" + } + }, + "required": [ + "componentId", + "measureId", + "color" + ] + }, + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + }, + "baseLayer": { + "type": "object", + "description": "{ show: boolean, locked: boolean, bbox: ([[number, number], [number, number]] | undefined) }", + "properties": { + "show": { + "type": "boolean", + "description": "boolean" + }, + "locked": { + "type": "boolean", + "description": "boolean" + }, + "bbox": { + "anyOf": [ + { + "type": "array", + "description": "[[number, number], [number, number]]", + "items": [ + { + "type": "array", + "description": "[number, number]", + "items": [ + { + "type": "number", + "description": "number" + }, + { + "type": "number", + "description": "number" + } + ], + "minItems": 2, + "maxItems": 2 + }, + { + "type": "array", + "description": "[number, number]", + "items": [ + { + "type": "number", + "description": "number" + }, + { + "type": "number", + "description": "number" + } + ], + "minItems": 2, + "maxItems": 2 + } + ], + "minItems": 2, + "maxItems": 2 + }, + {} + ], + "description": "([[number, number], [number, number]] | undefined)" + } + }, + "required": [ + "show", + "locked", + "bbox" + ] + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + }, + "fields": { + "allOf": [ + { + "type": "object", + "description": "{ y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }", + "properties": { + "y": { + "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 }>)" + }, + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + } + }, + "required": [ + "y", + "segment" + ] + }, + { + "type": "object", + "description": "Partial<{ animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", + "properties": { + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + } + ], + "description": "({ y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) } & Partial<{ animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ScatterPlotConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + }, + "fields": { + "allOf": [ + { + "type": "object", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>) }", + "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": { + "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 }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", + "properties": { + "segment": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + } + ], + "description": "({ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>) } & Partial<{ segment: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "TableConfig", + "properties": { + "chartType": { + "const": "table", + "description": "\"table\"" + }, + "fields": { + "type": "object", + "description": "{ [K in string]: { componentId: string, componentType: ((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\")), index: number, isGroup: boolean, isHidden: boolean, columnStyle: ({ type: \"text\", textStyle: (\"regular\" | \"bold\"), textColor: string, columnColor: string } | { type: \"category\", textStyle: (\"regular\" | \"bold\"), palette: string, colorMapping: { [K in string]: string } } | { type: \"heatmap\", textStyle: (\"regular\" | \"bold\"), palette: (\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") } | { type: \"bar\", textStyle: (\"regular\" | \"bold\"), barColorPositive: string, barColorNegative: string, barColorBackground: string, barShowBackground: boolean }) } }", + "additionalProperties": { + "type": "object", + "description": "{ componentId: string, componentType: ((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\")), index: number, isGroup: boolean, isHidden: boolean, columnStyle: ({ type: \"text\", textStyle: (\"regular\" | \"bold\"), textColor: string, columnColor: string } | { type: \"category\", textStyle: (\"regular\" | \"bold\"), palette: string, colorMapping: { [K in string]: string } } | { type: \"heatmap\", textStyle: (\"regular\" | \"bold\"), palette: (\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") } | { type: \"bar\", textStyle: (\"regular\" | \"bold\"), barColorPositive: string, barColorNegative: string, barColorBackground: string, barShowBackground: boolean }) }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "componentType": { + "anyOf": [ + { + "anyOf": [ + { + "const": "NominalDimension", + "description": "\"NominalDimension\"" + }, + { + "const": "OrdinalDimension", + "description": "\"OrdinalDimension\"" + }, + { + "const": "TemporalDimension", + "description": "\"TemporalDimension\"" + }, + { + "const": "TemporalEntityDimension", + "description": "\"TemporalEntityDimension\"" + }, + { + "const": "TemporalOrdinalDimension", + "description": "\"TemporalOrdinalDimension\"" + }, + { + "const": "GeoCoordinatesDimension", + "description": "\"GeoCoordinatesDimension\"" + }, + { + "const": "GeoShapesDimension", + "description": "\"GeoShapesDimension\"" + }, + { + "const": "StandardErrorDimension", + "description": "\"StandardErrorDimension\"" + }, + { + "const": "ConfidenceUpperBoundDimension", + "description": "\"ConfidenceUpperBoundDimension\"" + }, + { + "const": "ConfidenceLowerBoundDimension", + "description": "\"ConfidenceLowerBoundDimension\"" + } + ], + "description": "(\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\")" + }, + { + "anyOf": [ + { + "const": "NumericalMeasure", + "description": "\"NumericalMeasure\"" + }, + { + "const": "OrdinalMeasure", + "description": "\"OrdinalMeasure\"" + } + ], + "description": "(\"NumericalMeasure\" | \"OrdinalMeasure\")" + } + ], + "description": "((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\"))" + }, + "index": { + "type": "number", + "description": "number" + }, + "isGroup": { + "type": "boolean", + "description": "boolean" + }, + "isHidden": { + "type": "boolean", + "description": "boolean" + }, + "columnStyle": { + "anyOf": [ + { + "type": "object", + "description": "{ type: \"text\", textStyle: (\"regular\" | \"bold\"), textColor: string, columnColor: string }", + "properties": { + "type": { + "const": "text", + "description": "\"text\"" + }, + "textStyle": { + "anyOf": [ + { + "const": "regular", + "description": "\"regular\"" + }, + { + "const": "bold", + "description": "\"bold\"" + } + ], + "description": "(\"regular\" | \"bold\")" + }, + "textColor": { + "type": "string", + "description": "string" + }, + "columnColor": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "textStyle", + "textColor", + "columnColor" + ] + }, + { + "type": "object", + "description": "{ type: \"category\", textStyle: (\"regular\" | \"bold\"), palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "type": { + "const": "category", + "description": "\"category\"" + }, + "textStyle": { + "anyOf": [ + { + "const": "regular", + "description": "\"regular\"" + }, + { + "const": "bold", + "description": "\"bold\"" + } + ], + "description": "(\"regular\" | \"bold\")" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "type", + "textStyle", + "palette", + "colorMapping" + ] + }, + { + "type": "object", + "description": "{ type: \"heatmap\", textStyle: (\"regular\" | \"bold\"), palette: (\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") }", + "properties": { + "type": { + "const": "heatmap", + "description": "\"heatmap\"" + }, + "textStyle": { + "anyOf": [ + { + "const": "regular", + "description": "\"regular\"" + }, + { + "const": "bold", + "description": "\"bold\"" + } + ], + "description": "(\"regular\" | \"bold\")" + }, + "palette": { + "anyOf": [ + { + "const": "BrBG", + "description": "\"BrBG\"" + }, + { + "const": "PiYG", + "description": "\"PiYG\"" + }, + { + "const": "PRGn", + "description": "\"PRGn\"" + }, + { + "const": "PuOr", + "description": "\"PuOr\"" + }, + { + "const": "RdBu", + "description": "\"RdBu\"" + }, + { + "const": "RdYlBu", + "description": "\"RdYlBu\"" + }, + { + "const": "RdYlGn", + "description": "\"RdYlGn\"" + } + ], + "description": "(\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\")" + } + }, + "required": [ + "type", + "textStyle", + "palette" + ] + }, + { + "type": "object", + "description": "{ type: \"bar\", textStyle: (\"regular\" | \"bold\"), barColorPositive: string, barColorNegative: string, barColorBackground: string, barShowBackground: boolean }", + "properties": { + "type": { + "const": "bar", + "description": "\"bar\"" + }, + "textStyle": { + "anyOf": [ + { + "const": "regular", + "description": "\"regular\"" + }, + { + "const": "bold", + "description": "\"bold\"" + } + ], + "description": "(\"regular\" | \"bold\")" + }, + "barColorPositive": { + "type": "string", + "description": "string" + }, + "barColorNegative": { + "type": "string", + "description": "string" + }, + "barColorBackground": { + "type": "string", + "description": "string" + }, + "barShowBackground": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "type", + "textStyle", + "barColorPositive", + "barColorNegative", + "barColorBackground", + "barShowBackground" + ] + } + ], + "description": "({ type: \"text\", textStyle: (\"regular\" | \"bold\"), textColor: string, columnColor: string } | { type: \"category\", textStyle: (\"regular\" | \"bold\"), palette: string, colorMapping: { [K in string]: string } } | { type: \"heatmap\", textStyle: (\"regular\" | \"bold\"), palette: (\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") } | { type: \"bar\", textStyle: (\"regular\" | \"bold\"), barColorPositive: string, barColorNegative: string, barColorBackground: string, barShowBackground: boolean })" + } + }, + "required": [ + "componentId", + "componentType", + "index", + "isGroup", + "isHidden", + "columnStyle" + ] + } + }, + "settings": { + "type": "object", + "description": "{ showSearch: boolean, showAllRows: boolean }", + "properties": { + "showSearch": { + "type": "boolean", + "description": "boolean" + }, + "showAllRows": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showSearch", + "showAllRows" + ] + }, + "sorting": { + "type": "array", + "description": "Array<{ componentId: string, componentType: ((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\")), sortingOrder: (\"asc\" | \"desc\") }>", + "items": { + "type": "object", + "description": "{ componentId: string, componentType: ((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\")), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "componentType": { + "anyOf": [ + { + "anyOf": [ + { + "const": "NominalDimension", + "description": "\"NominalDimension\"" + }, + { + "const": "OrdinalDimension", + "description": "\"OrdinalDimension\"" + }, + { + "const": "TemporalDimension", + "description": "\"TemporalDimension\"" + }, + { + "const": "TemporalEntityDimension", + "description": "\"TemporalEntityDimension\"" + }, + { + "const": "TemporalOrdinalDimension", + "description": "\"TemporalOrdinalDimension\"" + }, + { + "const": "GeoCoordinatesDimension", + "description": "\"GeoCoordinatesDimension\"" + }, + { + "const": "GeoShapesDimension", + "description": "\"GeoShapesDimension\"" + }, + { + "const": "StandardErrorDimension", + "description": "\"StandardErrorDimension\"" + }, + { + "const": "ConfidenceUpperBoundDimension", + "description": "\"ConfidenceUpperBoundDimension\"" + }, + { + "const": "ConfidenceLowerBoundDimension", + "description": "\"ConfidenceLowerBoundDimension\"" + } + ], + "description": "(\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\")" + }, + { + "anyOf": [ + { + "const": "NumericalMeasure", + "description": "\"NumericalMeasure\"" + }, + { + "const": "OrdinalMeasure", + "description": "\"OrdinalMeasure\"" + } + ], + "description": "(\"NumericalMeasure\" | \"OrdinalMeasure\")" + } + ], + "description": "((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\"))" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "componentId", + "componentType", + "sortingOrder" + ] + } + }, + "interactiveFiltersConfig": {} + }, + "required": [ + "chartType", + "fields", + "settings", + "sorting", + "interactiveFiltersConfig" + ] + } + ], + "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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, activeField: (string | undefined) } & TableConfig))" + }, + { + "anyOf": [ + { + "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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ComboLineSingleConfig", + "properties": { + "chartType": { + "const": "comboLineSingle", + "description": "\"comboLineSingle\"" + }, + "fields": { + "type": "object", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: { componentIds: Array, palette: string, colorMapping: { [K in string]: 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": { + "type": "object", + "description": "{ componentIds: Array, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "componentIds", + "palette", + "colorMapping" + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + } + }, + "required": [ + "chartType", + "fields", + "interactiveFiltersConfig" + ] + } + ], + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ComboLineDualConfig", + "properties": { + "chartType": { + "const": "comboLineDual", + "description": "\"comboLineDual\"" + }, + "fields": { + "type": "object", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: { leftAxisComponentId: string, rightAxisComponentId: string, palette: string, colorMapping: { [K in string]: 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": { + "type": "object", + "description": "{ leftAxisComponentId: string, rightAxisComponentId: string, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "leftAxisComponentId": { + "type": "string", + "description": "string" + }, + "rightAxisComponentId": { + "type": "string", + "description": "string" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "leftAxisComponentId", + "rightAxisComponentId", + "palette", + "colorMapping" + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + } + }, + "required": [ + "chartType", + "fields", + "interactiveFiltersConfig" + ] + } + ], + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ComboLineColumnConfig", + "properties": { + "chartType": { + "const": "comboLineColumn", + "description": "\"comboLineColumn\"" + }, + "fields": { + "type": "object", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: { lineComponentId: string, lineAxisOrientation: (\"left\" | \"right\"), columnComponentId: string, palette: string, colorMapping: { [K in string]: 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": { + "type": "object", + "description": "{ lineComponentId: string, lineAxisOrientation: (\"left\" | \"right\"), columnComponentId: string, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "lineComponentId": { + "type": "string", + "description": "string" + }, + "lineAxisOrientation": { + "anyOf": [ + { + "const": "left", + "description": "\"left\"" + }, + { + "const": "right", + "description": "\"right\"" + } + ], + "description": "(\"left\" | \"right\")" + }, + "columnComponentId": { + "type": "string", + "description": "string" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "lineComponentId", + "lineAxisOrientation", + "columnComponentId", + "palette", + "colorMapping" + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + } + }, + "required": [ + "chartType", + "fields", + "interactiveFiltersConfig" + ] + } + ], + "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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 new file mode 100644 index 000000000..bc84249ed --- /dev/null +++ b/app/public/json-schema/configurator-state.json @@ -0,0 +1,32272 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://visualize.admin.ch/json-schema/configurator-state.json", + "type": "object", + "title": "Configurator State", + "description": "JSON Schema for visualize.admin configurator state.", + "properties": { + "$schema": { + "type": "string", + "const": "https://visualize.admin.ch/json-schema/configurator-state.json" + }, + "schema": { + "anyOf": [ + { + "type": "object", + "description": "{ state: \"INITIAL\", version: string, dataSource: { type: (\"sql\" | \"sparql\"), url: string } }", + "properties": { + "state": { + "const": "INITIAL", + "description": "\"INITIAL\"" + }, + "version": { + "type": "string", + "description": "string" + }, + "dataSource": { + "type": "object", + "description": "{ type: (\"sql\" | \"sparql\"), url: string }", + "properties": { + "type": { + "anyOf": [ + { + "const": "sql", + "description": "\"sql\"" + }, + { + "const": "sparql", + "description": "\"sparql\"" + } + ], + "description": "(\"sql\" | \"sparql\")" + }, + "url": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "url" + ] + } + }, + "required": [ + "state", + "version", + "dataSource" + ] + }, + { + "type": "object", + "description": "{ state: \"SELECTING_DATASET\", version: string, dataSource: { type: (\"sql\" | \"sparql\"), url: string }, chartConfigs: undefined, layout: undefined, activeChartKey: undefined }", + "properties": { + "state": { + "const": "SELECTING_DATASET", + "description": "\"SELECTING_DATASET\"" + }, + "version": { + "type": "string", + "description": "string" + }, + "dataSource": { + "type": "object", + "description": "{ type: (\"sql\" | \"sparql\"), url: string }", + "properties": { + "type": { + "anyOf": [ + { + "const": "sql", + "description": "\"sql\"" + }, + { + "const": "sparql", + "description": "\"sparql\"" + } + ], + "description": "(\"sql\" | \"sparql\")" + }, + "url": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "url" + ] + }, + "chartConfigs": {}, + "layout": {}, + "activeChartKey": {} + }, + "required": [ + "state", + "version", + "dataSource", + "chartConfigs", + "layout", + "activeChartKey" + ] + }, + { + "allOf": [ + { + "type": "object", + "description": "{ state: \"CONFIGURING_CHART\" }", + "properties": { + "state": { + "const": "CONFIGURING_CHART", + "description": "\"CONFIGURING_CHART\"" + } + }, + "required": [ + "state" + ] + }, + { + "allOf": [ + { + "type": "object", + "description": "Config", + "properties": { + "version": { + "type": "string", + "description": "string" + }, + "dataSource": { + "type": "object", + "description": "{ type: (\"sql\" | \"sparql\"), url: string }", + "properties": { + "type": { + "anyOf": [ + { + "const": "sql", + "description": "\"sql\"" + }, + { + "const": "sparql", + "description": "\"sparql\"" + } + ], + "description": "(\"sql\" | \"sparql\")" + }, + "url": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "url" + ] + }, + "layout": { + "allOf": [ + { + "type": "object", + "description": "{ activeField: (undefined | string), meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } } }", + "properties": { + "activeField": { + "anyOf": [ + {}, + { + "type": "string", + "description": "string" + } + ], + "description": "(undefined | string)" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + } + }, + "required": [ + "activeField", + "meta" + ] + }, + { + "anyOf": [ + { + "type": "object", + "description": "{ type: \"tab\" }", + "properties": { + "type": { + "const": "tab", + "description": "\"tab\"" + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "description": "{ type: \"dashboard\", layout: (\"vertical\" | \"tall\") }", + "properties": { + "type": { + "const": "dashboard", + "description": "\"dashboard\"" + }, + "layout": { + "anyOf": [ + { + "const": "vertical", + "description": "\"vertical\"" + }, + { + "const": "tall", + "description": "\"tall\"" + } + ], + "description": "(\"vertical\" | \"tall\")" + } + }, + "required": [ + "type", + "layout" + ] + }, + { + "type": "object", + "description": "{ type: \"dashboard\", layout: \"canvas\", layouts: { [K in string]: Array<{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }> }, layoutsMetadata: { [K in string]: { initialized: boolean } } }", + "properties": { + "type": { + "const": "dashboard", + "description": "\"dashboard\"" + }, + "layout": { + "const": "canvas", + "description": "\"canvas\"" + }, + "layouts": { + "type": "object", + "description": "{ [K in string]: Array<{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }> }", + "additionalProperties": { + "type": "array", + "description": "Array<{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }>", + "items": { + "type": "object", + "description": "{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }", + "properties": { + "w": { + "type": "number", + "description": "number" + }, + "h": { + "type": "number", + "description": "number" + }, + "x": { + "type": "number", + "description": "number" + }, + "y": { + "type": "number", + "description": "number" + }, + "i": { + "type": "string", + "description": "string" + }, + "resizeHandles": { + "anyOf": [ + { + "type": "array", + "description": "Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\">", + "items": { + "enum": [ + "s", + "w", + "e", + "n", + "sw", + "nw", + "se", + "ne" + ], + "description": "\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"" + } + }, + {} + ], + "description": "(Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined)" + } + }, + "required": [ + "w", + "h", + "x", + "y", + "i", + "resizeHandles" + ] + } + } + }, + "layoutsMetadata": { + "type": "object", + "description": "{ [K in string]: { initialized: boolean } }", + "additionalProperties": { + "type": "object", + "description": "{ initialized: boolean }", + "properties": { + "initialized": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "initialized" + ] + } + } + }, + "required": [ + "type", + "layout", + "layouts", + "layoutsMetadata" + ] + }, + { + "type": "object", + "description": "{ type: \"singleURLs\", publishableChartKeys: Array }", + "properties": { + "type": { + "const": "singleURLs", + "description": "\"singleURLs\"" + }, + "publishableChartKeys": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "type", + "publishableChartKeys" + ] + } + ], + "description": "({ type: \"tab\" } | { type: \"dashboard\", layout: (\"vertical\" | \"tall\") } | { type: \"dashboard\", layout: \"canvas\", layouts: { [K in string]: Array<{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }> }, layoutsMetadata: { [K in string]: { initialized: boolean } } } | { type: \"singleURLs\", publishableChartKeys: Array })" + } + ], + "description": "({ activeField: (undefined | string), meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } } } & ({ type: \"tab\" } | { type: \"dashboard\", layout: (\"vertical\" | \"tall\") } | { type: \"dashboard\", layout: \"canvas\", layouts: { [K in string]: Array<{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }> }, layoutsMetadata: { [K in string]: { initialized: boolean } } } | { type: \"singleURLs\", publishableChartKeys: Array }))" + }, + "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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, activeField: (string | undefined) } & ComboLineColumnConfig)))>", + "items": { + "anyOf": [ + { + "anyOf": [ + { + "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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "AreaConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, 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<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>) }", + "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": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>", + "properties": { + "imputationType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "zeros", + "description": "\"zeros\"" + }, + { + "const": "linear", + "description": "\"linear\"" + } + ], + "description": "(\"none\" | \"zeros\" | \"linear\")" + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }>", + "properties": { + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + } + } + } + ], + "description": "({ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>) } & Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ColumnConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, 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<{ showStandardError: boolean, showConfidenceInterval: boolean }>) }", + "properties": { + "x": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + }, + "y": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>", + "properties": { + "showStandardError": { + "type": "boolean", + "description": "boolean" + }, + "showConfidenceInterval": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") }), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", + "properties": { + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + }, + { + "type": "object", + "description": "{ type: (\"stacked\" | \"grouped\") }", + "properties": { + "type": { + "anyOf": [ + { + "const": "stacked", + "description": "\"stacked\"" + }, + { + "const": "grouped", + "description": "\"grouped\"" + } + ], + "description": "(\"stacked\" | \"grouped\")" + } + }, + "required": [ + "type" + ] + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") })" + }, + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + } + ], + "description": "({ x: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>) } & Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") }), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "BarConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, 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<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }", + "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": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") }), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", + "properties": { + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + }, + { + "type": "object", + "description": "{ type: (\"stacked\" | \"grouped\") }", + "properties": { + "type": { + "anyOf": [ + { + "const": "stacked", + "description": "\"stacked\"" + }, + { + "const": "grouped", + "description": "\"grouped\"" + } + ], + "description": "(\"stacked\" | \"grouped\")" + } + }, + "required": [ + "type" + ] + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") })" + }, + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + } + ], + "description": "({ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) } & Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") }), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "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 }, 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": { + "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" + ] + }, + "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 }, 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<{ showStandardError: boolean, showConfidenceInterval: boolean }>) }", + "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": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>", + "properties": { + "showStandardError": { + "type": "boolean", + "description": "boolean" + }, + "showConfidenceInterval": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }>", + "properties": { + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + } + } + } + ], + "description": "({ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>) } & Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "MapConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + }, + "fields": { + "type": "object", + "description": "Partial<{ areaLayer: { componentId: string, color: (({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ 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, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ 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 }) }>", + "properties": { + "areaLayer": { + "type": "object", + "description": "{ componentId: string, color: (({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })) }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "color": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "type": { + "const": "categorical", + "description": "\"categorical\"" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "type", + "componentId", + "palette", + "colorMapping" + ] + }, + { + "type": "object", + "description": "Partial<{ useAbbreviations: boolean }>", + "properties": { + "useAbbreviations": { + "type": "boolean", + "description": "boolean" + } + } + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number })" + }, + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) }", + "properties": { + "type": { + "const": "numerical", + "description": "\"numerical\"" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "palette": { + "anyOf": [ + { + "anyOf": [ + { + "const": "BrBG", + "description": "\"BrBG\"" + }, + { + "const": "PiYG", + "description": "\"PiYG\"" + }, + { + "const": "PRGn", + "description": "\"PRGn\"" + }, + { + "const": "PuOr", + "description": "\"PuOr\"" + }, + { + "const": "RdBu", + "description": "\"RdBu\"" + }, + { + "const": "RdYlBu", + "description": "\"RdYlBu\"" + }, + { + "const": "RdYlGn", + "description": "\"RdYlGn\"" + } + ], + "description": "(\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\")" + }, + { + "anyOf": [ + { + "const": "blues", + "description": "\"blues\"" + }, + { + "const": "greens", + "description": "\"greens\"" + }, + { + "const": "greys", + "description": "\"greys\"" + }, + { + "const": "oranges", + "description": "\"oranges\"" + }, + { + "const": "purples", + "description": "\"purples\"" + }, + { + "const": "reds", + "description": "\"reds\"" + } + ], + "description": "(\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")" + } + ], + "description": "((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\"))" + } + }, + "required": [ + "type", + "componentId", + "palette" + ] + }, + { + "anyOf": [ + { + "type": "object", + "description": "{ scaleType: \"continuous\", interpolationType: \"linear\" }", + "properties": { + "scaleType": { + "const": "continuous", + "description": "\"continuous\"" + }, + "interpolationType": { + "const": "linear", + "description": "\"linear\"" + } + }, + "required": [ + "scaleType", + "interpolationType" + ] + }, + { + "type": "object", + "description": "{ scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }", + "properties": { + "scaleType": { + "const": "discrete", + "description": "\"discrete\"" + }, + "interpolationType": { + "anyOf": [ + { + "const": "quantize", + "description": "\"quantize\"" + }, + { + "const": "quantile", + "description": "\"quantile\"" + }, + { + "const": "jenks", + "description": "\"jenks\"" + } + ], + "description": "(\"quantize\" | \"quantile\" | \"jenks\")" + }, + "nbClass": { + "type": "number", + "description": "number" + } + }, + "required": [ + "scaleType", + "interpolationType", + "nbClass" + ] + } + ], + "description": "({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number })" + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })" + } + ], + "description": "(({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number }))" + } + }, + "required": [ + "componentId", + "color" + ] + }, + "symbolLayer": { + "type": "object", + "description": "{ componentId: string, measureId: string, color: (({ type: \"fixed\", value: string } & { opacity: number }) | ({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })) }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "measureId": { + "type": "string", + "description": "string" + }, + "color": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"fixed\", value: string }", + "properties": { + "type": { + "const": "fixed", + "description": "\"fixed\"" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"fixed\", value: string } & { opacity: number })" + }, + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "type": { + "const": "categorical", + "description": "\"categorical\"" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "type", + "componentId", + "palette", + "colorMapping" + ] + }, + { + "type": "object", + "description": "Partial<{ useAbbreviations: boolean }>", + "properties": { + "useAbbreviations": { + "type": "boolean", + "description": "boolean" + } + } + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number })" + }, + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) }", + "properties": { + "type": { + "const": "numerical", + "description": "\"numerical\"" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "palette": { + "anyOf": [ + { + "anyOf": [ + { + "const": "BrBG", + "description": "\"BrBG\"" + }, + { + "const": "PiYG", + "description": "\"PiYG\"" + }, + { + "const": "PRGn", + "description": "\"PRGn\"" + }, + { + "const": "PuOr", + "description": "\"PuOr\"" + }, + { + "const": "RdBu", + "description": "\"RdBu\"" + }, + { + "const": "RdYlBu", + "description": "\"RdYlBu\"" + }, + { + "const": "RdYlGn", + "description": "\"RdYlGn\"" + } + ], + "description": "(\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\")" + }, + { + "anyOf": [ + { + "const": "blues", + "description": "\"blues\"" + }, + { + "const": "greens", + "description": "\"greens\"" + }, + { + "const": "greys", + "description": "\"greys\"" + }, + { + "const": "oranges", + "description": "\"oranges\"" + }, + { + "const": "purples", + "description": "\"purples\"" + }, + { + "const": "reds", + "description": "\"reds\"" + } + ], + "description": "(\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")" + } + ], + "description": "((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\"))" + } + }, + "required": [ + "type", + "componentId", + "palette" + ] + }, + { + "anyOf": [ + { + "type": "object", + "description": "{ scaleType: \"continuous\", interpolationType: \"linear\" }", + "properties": { + "scaleType": { + "const": "continuous", + "description": "\"continuous\"" + }, + "interpolationType": { + "const": "linear", + "description": "\"linear\"" + } + }, + "required": [ + "scaleType", + "interpolationType" + ] + }, + { + "type": "object", + "description": "{ scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }", + "properties": { + "scaleType": { + "const": "discrete", + "description": "\"discrete\"" + }, + "interpolationType": { + "anyOf": [ + { + "const": "quantize", + "description": "\"quantize\"" + }, + { + "const": "quantile", + "description": "\"quantile\"" + }, + { + "const": "jenks", + "description": "\"jenks\"" + } + ], + "description": "(\"quantize\" | \"quantile\" | \"jenks\")" + }, + "nbClass": { + "type": "number", + "description": "number" + } + }, + "required": [ + "scaleType", + "interpolationType", + "nbClass" + ] + } + ], + "description": "({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number })" + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })" + } + ], + "description": "(({ type: \"fixed\", value: string } & { opacity: number }) | ({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number }))" + } + }, + "required": [ + "componentId", + "measureId", + "color" + ] + }, + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + }, + "baseLayer": { + "type": "object", + "description": "{ show: boolean, locked: boolean, bbox: ([[number, number], [number, number]] | undefined) }", + "properties": { + "show": { + "type": "boolean", + "description": "boolean" + }, + "locked": { + "type": "boolean", + "description": "boolean" + }, + "bbox": { + "anyOf": [ + { + "type": "array", + "description": "[[number, number], [number, number]]", + "items": [ + { + "type": "array", + "description": "[number, number]", + "items": [ + { + "type": "number", + "description": "number" + }, + { + "type": "number", + "description": "number" + } + ], + "minItems": 2, + "maxItems": 2 + }, + { + "type": "array", + "description": "[number, number]", + "items": [ + { + "type": "number", + "description": "number" + }, + { + "type": "number", + "description": "number" + } + ], + "minItems": 2, + "maxItems": 2 + } + ], + "minItems": 2, + "maxItems": 2 + }, + {} + ], + "description": "([[number, number], [number, number]] | undefined)" + } + }, + "required": [ + "show", + "locked", + "bbox" + ] + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + }, + "fields": { + "allOf": [ + { + "type": "object", + "description": "{ y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }", + "properties": { + "y": { + "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 }>)" + }, + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + } + }, + "required": [ + "y", + "segment" + ] + }, + { + "type": "object", + "description": "Partial<{ animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", + "properties": { + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + } + ], + "description": "({ y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) } & Partial<{ animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ScatterPlotConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + }, + "fields": { + "allOf": [ + { + "type": "object", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>) }", + "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": { + "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 }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", + "properties": { + "segment": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + } + ], + "description": "({ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>) } & Partial<{ segment: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "TableConfig", + "properties": { + "chartType": { + "const": "table", + "description": "\"table\"" + }, + "fields": { + "type": "object", + "description": "{ [K in string]: { componentId: string, componentType: ((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\")), index: number, isGroup: boolean, isHidden: boolean, columnStyle: ({ type: \"text\", textStyle: (\"regular\" | \"bold\"), textColor: string, columnColor: string } | { type: \"category\", textStyle: (\"regular\" | \"bold\"), palette: string, colorMapping: { [K in string]: string } } | { type: \"heatmap\", textStyle: (\"regular\" | \"bold\"), palette: (\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") } | { type: \"bar\", textStyle: (\"regular\" | \"bold\"), barColorPositive: string, barColorNegative: string, barColorBackground: string, barShowBackground: boolean }) } }", + "additionalProperties": { + "type": "object", + "description": "{ componentId: string, componentType: ((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\")), index: number, isGroup: boolean, isHidden: boolean, columnStyle: ({ type: \"text\", textStyle: (\"regular\" | \"bold\"), textColor: string, columnColor: string } | { type: \"category\", textStyle: (\"regular\" | \"bold\"), palette: string, colorMapping: { [K in string]: string } } | { type: \"heatmap\", textStyle: (\"regular\" | \"bold\"), palette: (\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") } | { type: \"bar\", textStyle: (\"regular\" | \"bold\"), barColorPositive: string, barColorNegative: string, barColorBackground: string, barShowBackground: boolean }) }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "componentType": { + "anyOf": [ + { + "anyOf": [ + { + "const": "NominalDimension", + "description": "\"NominalDimension\"" + }, + { + "const": "OrdinalDimension", + "description": "\"OrdinalDimension\"" + }, + { + "const": "TemporalDimension", + "description": "\"TemporalDimension\"" + }, + { + "const": "TemporalEntityDimension", + "description": "\"TemporalEntityDimension\"" + }, + { + "const": "TemporalOrdinalDimension", + "description": "\"TemporalOrdinalDimension\"" + }, + { + "const": "GeoCoordinatesDimension", + "description": "\"GeoCoordinatesDimension\"" + }, + { + "const": "GeoShapesDimension", + "description": "\"GeoShapesDimension\"" + }, + { + "const": "StandardErrorDimension", + "description": "\"StandardErrorDimension\"" + }, + { + "const": "ConfidenceUpperBoundDimension", + "description": "\"ConfidenceUpperBoundDimension\"" + }, + { + "const": "ConfidenceLowerBoundDimension", + "description": "\"ConfidenceLowerBoundDimension\"" + } + ], + "description": "(\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\")" + }, + { + "anyOf": [ + { + "const": "NumericalMeasure", + "description": "\"NumericalMeasure\"" + }, + { + "const": "OrdinalMeasure", + "description": "\"OrdinalMeasure\"" + } + ], + "description": "(\"NumericalMeasure\" | \"OrdinalMeasure\")" + } + ], + "description": "((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\"))" + }, + "index": { + "type": "number", + "description": "number" + }, + "isGroup": { + "type": "boolean", + "description": "boolean" + }, + "isHidden": { + "type": "boolean", + "description": "boolean" + }, + "columnStyle": { + "anyOf": [ + { + "type": "object", + "description": "{ type: \"text\", textStyle: (\"regular\" | \"bold\"), textColor: string, columnColor: string }", + "properties": { + "type": { + "const": "text", + "description": "\"text\"" + }, + "textStyle": { + "anyOf": [ + { + "const": "regular", + "description": "\"regular\"" + }, + { + "const": "bold", + "description": "\"bold\"" + } + ], + "description": "(\"regular\" | \"bold\")" + }, + "textColor": { + "type": "string", + "description": "string" + }, + "columnColor": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "textStyle", + "textColor", + "columnColor" + ] + }, + { + "type": "object", + "description": "{ type: \"category\", textStyle: (\"regular\" | \"bold\"), palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "type": { + "const": "category", + "description": "\"category\"" + }, + "textStyle": { + "anyOf": [ + { + "const": "regular", + "description": "\"regular\"" + }, + { + "const": "bold", + "description": "\"bold\"" + } + ], + "description": "(\"regular\" | \"bold\")" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "type", + "textStyle", + "palette", + "colorMapping" + ] + }, + { + "type": "object", + "description": "{ type: \"heatmap\", textStyle: (\"regular\" | \"bold\"), palette: (\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") }", + "properties": { + "type": { + "const": "heatmap", + "description": "\"heatmap\"" + }, + "textStyle": { + "anyOf": [ + { + "const": "regular", + "description": "\"regular\"" + }, + { + "const": "bold", + "description": "\"bold\"" + } + ], + "description": "(\"regular\" | \"bold\")" + }, + "palette": { + "anyOf": [ + { + "const": "BrBG", + "description": "\"BrBG\"" + }, + { + "const": "PiYG", + "description": "\"PiYG\"" + }, + { + "const": "PRGn", + "description": "\"PRGn\"" + }, + { + "const": "PuOr", + "description": "\"PuOr\"" + }, + { + "const": "RdBu", + "description": "\"RdBu\"" + }, + { + "const": "RdYlBu", + "description": "\"RdYlBu\"" + }, + { + "const": "RdYlGn", + "description": "\"RdYlGn\"" + } + ], + "description": "(\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\")" + } + }, + "required": [ + "type", + "textStyle", + "palette" + ] + }, + { + "type": "object", + "description": "{ type: \"bar\", textStyle: (\"regular\" | \"bold\"), barColorPositive: string, barColorNegative: string, barColorBackground: string, barShowBackground: boolean }", + "properties": { + "type": { + "const": "bar", + "description": "\"bar\"" + }, + "textStyle": { + "anyOf": [ + { + "const": "regular", + "description": "\"regular\"" + }, + { + "const": "bold", + "description": "\"bold\"" + } + ], + "description": "(\"regular\" | \"bold\")" + }, + "barColorPositive": { + "type": "string", + "description": "string" + }, + "barColorNegative": { + "type": "string", + "description": "string" + }, + "barColorBackground": { + "type": "string", + "description": "string" + }, + "barShowBackground": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "type", + "textStyle", + "barColorPositive", + "barColorNegative", + "barColorBackground", + "barShowBackground" + ] + } + ], + "description": "({ type: \"text\", textStyle: (\"regular\" | \"bold\"), textColor: string, columnColor: string } | { type: \"category\", textStyle: (\"regular\" | \"bold\"), palette: string, colorMapping: { [K in string]: string } } | { type: \"heatmap\", textStyle: (\"regular\" | \"bold\"), palette: (\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") } | { type: \"bar\", textStyle: (\"regular\" | \"bold\"), barColorPositive: string, barColorNegative: string, barColorBackground: string, barShowBackground: boolean })" + } + }, + "required": [ + "componentId", + "componentType", + "index", + "isGroup", + "isHidden", + "columnStyle" + ] + } + }, + "settings": { + "type": "object", + "description": "{ showSearch: boolean, showAllRows: boolean }", + "properties": { + "showSearch": { + "type": "boolean", + "description": "boolean" + }, + "showAllRows": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showSearch", + "showAllRows" + ] + }, + "sorting": { + "type": "array", + "description": "Array<{ componentId: string, componentType: ((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\")), sortingOrder: (\"asc\" | \"desc\") }>", + "items": { + "type": "object", + "description": "{ componentId: string, componentType: ((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\")), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "componentType": { + "anyOf": [ + { + "anyOf": [ + { + "const": "NominalDimension", + "description": "\"NominalDimension\"" + }, + { + "const": "OrdinalDimension", + "description": "\"OrdinalDimension\"" + }, + { + "const": "TemporalDimension", + "description": "\"TemporalDimension\"" + }, + { + "const": "TemporalEntityDimension", + "description": "\"TemporalEntityDimension\"" + }, + { + "const": "TemporalOrdinalDimension", + "description": "\"TemporalOrdinalDimension\"" + }, + { + "const": "GeoCoordinatesDimension", + "description": "\"GeoCoordinatesDimension\"" + }, + { + "const": "GeoShapesDimension", + "description": "\"GeoShapesDimension\"" + }, + { + "const": "StandardErrorDimension", + "description": "\"StandardErrorDimension\"" + }, + { + "const": "ConfidenceUpperBoundDimension", + "description": "\"ConfidenceUpperBoundDimension\"" + }, + { + "const": "ConfidenceLowerBoundDimension", + "description": "\"ConfidenceLowerBoundDimension\"" + } + ], + "description": "(\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\")" + }, + { + "anyOf": [ + { + "const": "NumericalMeasure", + "description": "\"NumericalMeasure\"" + }, + { + "const": "OrdinalMeasure", + "description": "\"OrdinalMeasure\"" + } + ], + "description": "(\"NumericalMeasure\" | \"OrdinalMeasure\")" + } + ], + "description": "((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\"))" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "componentId", + "componentType", + "sortingOrder" + ] + } + }, + "interactiveFiltersConfig": {} + }, + "required": [ + "chartType", + "fields", + "settings", + "sorting", + "interactiveFiltersConfig" + ] + } + ], + "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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, activeField: (string | undefined) } & TableConfig))" + }, + { + "anyOf": [ + { + "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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ComboLineSingleConfig", + "properties": { + "chartType": { + "const": "comboLineSingle", + "description": "\"comboLineSingle\"" + }, + "fields": { + "type": "object", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: { componentIds: Array, palette: string, colorMapping: { [K in string]: 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": { + "type": "object", + "description": "{ componentIds: Array, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "componentIds", + "palette", + "colorMapping" + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + } + }, + "required": [ + "chartType", + "fields", + "interactiveFiltersConfig" + ] + } + ], + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ComboLineDualConfig", + "properties": { + "chartType": { + "const": "comboLineDual", + "description": "\"comboLineDual\"" + }, + "fields": { + "type": "object", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: { leftAxisComponentId: string, rightAxisComponentId: string, palette: string, colorMapping: { [K in string]: 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": { + "type": "object", + "description": "{ leftAxisComponentId: string, rightAxisComponentId: string, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "leftAxisComponentId": { + "type": "string", + "description": "string" + }, + "rightAxisComponentId": { + "type": "string", + "description": "string" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "leftAxisComponentId", + "rightAxisComponentId", + "palette", + "colorMapping" + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + } + }, + "required": [ + "chartType", + "fields", + "interactiveFiltersConfig" + ] + } + ], + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ComboLineColumnConfig", + "properties": { + "chartType": { + "const": "comboLineColumn", + "description": "\"comboLineColumn\"" + }, + "fields": { + "type": "object", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: { lineComponentId: string, lineAxisOrientation: (\"left\" | \"right\"), columnComponentId: string, palette: string, colorMapping: { [K in string]: 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": { + "type": "object", + "description": "{ lineComponentId: string, lineAxisOrientation: (\"left\" | \"right\"), columnComponentId: string, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "lineComponentId": { + "type": "string", + "description": "string" + }, + "lineAxisOrientation": { + "anyOf": [ + { + "const": "left", + "description": "\"left\"" + }, + { + "const": "right", + "description": "\"right\"" + } + ], + "description": "(\"left\" | \"right\")" + }, + "columnComponentId": { + "type": "string", + "description": "string" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "lineComponentId", + "lineAxisOrientation", + "columnComponentId", + "palette", + "colorMapping" + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + } + }, + "required": [ + "chartType", + "fields", + "interactiveFiltersConfig" + ] + } + ], + "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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, activeField: (string | undefined) } & ComboLineColumnConfig)))" + } + }, + "activeChartKey": { + "type": "string", + "description": "string" + }, + "dashboardFilters": { + "anyOf": [ + { + "type": "object", + "description": "{ timeRange: { active: boolean, timeUnit: string, presets: { from: string, to: string } }, dataFilters: { componentIds: Array, filters: SingleFilters } }", + "properties": { + "timeRange": { + "type": "object", + "description": "{ active: boolean, timeUnit: string, presets: { from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "timeUnit": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ from: string, to: string }", + "properties": { + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "from", + "to" + ] + } + }, + "required": [ + "active", + "timeUnit", + "presets" + ] + }, + "dataFilters": { + "type": "object", + "description": "{ componentIds: Array, filters: SingleFilters }", + "properties": { + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "filters": { + "type": "object", + "description": "SingleFilters", + "additionalProperties": { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + } + } + }, + "required": [ + "componentIds", + "filters" + ] + } + }, + "required": [ + "timeRange", + "dataFilters" + ] + }, + {} + ], + "description": "({ timeRange: { active: boolean, timeUnit: string, presets: { from: string, to: string } }, dataFilters: { componentIds: Array, filters: SingleFilters } } | undefined)" + } + }, + "required": [ + "version", + "dataSource", + "layout", + "chartConfigs", + "activeChartKey", + "dashboardFilters" + ] + }, + { + "type": "object", + "description": "Partial<{ key: string }>", + "properties": { + "key": { + "type": "string", + "description": "string" + } + } + } + ], + "description": "(Config & Partial<{ key: string }>)" + } + ], + "description": "({ state: \"CONFIGURING_CHART\" } & (Config & Partial<{ key: string }>))" + }, + { + "allOf": [ + { + "type": "object", + "description": "{ state: \"LAYOUTING\" }", + "properties": { + "state": { + "const": "LAYOUTING", + "description": "\"LAYOUTING\"" + } + }, + "required": [ + "state" + ] + }, + { + "allOf": [ + { + "type": "object", + "description": "Config", + "properties": { + "version": { + "type": "string", + "description": "string" + }, + "dataSource": { + "type": "object", + "description": "{ type: (\"sql\" | \"sparql\"), url: string }", + "properties": { + "type": { + "anyOf": [ + { + "const": "sql", + "description": "\"sql\"" + }, + { + "const": "sparql", + "description": "\"sparql\"" + } + ], + "description": "(\"sql\" | \"sparql\")" + }, + "url": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "url" + ] + }, + "layout": { + "allOf": [ + { + "type": "object", + "description": "{ activeField: (undefined | string), meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } } }", + "properties": { + "activeField": { + "anyOf": [ + {}, + { + "type": "string", + "description": "string" + } + ], + "description": "(undefined | string)" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + } + }, + "required": [ + "activeField", + "meta" + ] + }, + { + "anyOf": [ + { + "type": "object", + "description": "{ type: \"tab\" }", + "properties": { + "type": { + "const": "tab", + "description": "\"tab\"" + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "description": "{ type: \"dashboard\", layout: (\"vertical\" | \"tall\") }", + "properties": { + "type": { + "const": "dashboard", + "description": "\"dashboard\"" + }, + "layout": { + "anyOf": [ + { + "const": "vertical", + "description": "\"vertical\"" + }, + { + "const": "tall", + "description": "\"tall\"" + } + ], + "description": "(\"vertical\" | \"tall\")" + } + }, + "required": [ + "type", + "layout" + ] + }, + { + "type": "object", + "description": "{ type: \"dashboard\", layout: \"canvas\", layouts: { [K in string]: Array<{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }> }, layoutsMetadata: { [K in string]: { initialized: boolean } } }", + "properties": { + "type": { + "const": "dashboard", + "description": "\"dashboard\"" + }, + "layout": { + "const": "canvas", + "description": "\"canvas\"" + }, + "layouts": { + "type": "object", + "description": "{ [K in string]: Array<{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }> }", + "additionalProperties": { + "type": "array", + "description": "Array<{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }>", + "items": { + "type": "object", + "description": "{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }", + "properties": { + "w": { + "type": "number", + "description": "number" + }, + "h": { + "type": "number", + "description": "number" + }, + "x": { + "type": "number", + "description": "number" + }, + "y": { + "type": "number", + "description": "number" + }, + "i": { + "type": "string", + "description": "string" + }, + "resizeHandles": { + "anyOf": [ + { + "type": "array", + "description": "Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\">", + "items": { + "enum": [ + "s", + "w", + "e", + "n", + "sw", + "nw", + "se", + "ne" + ], + "description": "\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"" + } + }, + {} + ], + "description": "(Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined)" + } + }, + "required": [ + "w", + "h", + "x", + "y", + "i", + "resizeHandles" + ] + } + } + }, + "layoutsMetadata": { + "type": "object", + "description": "{ [K in string]: { initialized: boolean } }", + "additionalProperties": { + "type": "object", + "description": "{ initialized: boolean }", + "properties": { + "initialized": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "initialized" + ] + } + } + }, + "required": [ + "type", + "layout", + "layouts", + "layoutsMetadata" + ] + }, + { + "type": "object", + "description": "{ type: \"singleURLs\", publishableChartKeys: Array }", + "properties": { + "type": { + "const": "singleURLs", + "description": "\"singleURLs\"" + }, + "publishableChartKeys": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "type", + "publishableChartKeys" + ] + } + ], + "description": "({ type: \"tab\" } | { type: \"dashboard\", layout: (\"vertical\" | \"tall\") } | { type: \"dashboard\", layout: \"canvas\", layouts: { [K in string]: Array<{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }> }, layoutsMetadata: { [K in string]: { initialized: boolean } } } | { type: \"singleURLs\", publishableChartKeys: Array })" + } + ], + "description": "({ activeField: (undefined | string), meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } } } & ({ type: \"tab\" } | { type: \"dashboard\", layout: (\"vertical\" | \"tall\") } | { type: \"dashboard\", layout: \"canvas\", layouts: { [K in string]: Array<{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }> }, layoutsMetadata: { [K in string]: { initialized: boolean } } } | { type: \"singleURLs\", publishableChartKeys: Array }))" + }, + "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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, activeField: (string | undefined) } & ComboLineColumnConfig)))>", + "items": { + "anyOf": [ + { + "anyOf": [ + { + "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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "AreaConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, 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<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>) }", + "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": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>", + "properties": { + "imputationType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "zeros", + "description": "\"zeros\"" + }, + { + "const": "linear", + "description": "\"linear\"" + } + ], + "description": "(\"none\" | \"zeros\" | \"linear\")" + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }>", + "properties": { + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + } + } + } + ], + "description": "({ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>) } & Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ColumnConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, 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<{ showStandardError: boolean, showConfidenceInterval: boolean }>) }", + "properties": { + "x": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + }, + "y": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>", + "properties": { + "showStandardError": { + "type": "boolean", + "description": "boolean" + }, + "showConfidenceInterval": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") }), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", + "properties": { + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + }, + { + "type": "object", + "description": "{ type: (\"stacked\" | \"grouped\") }", + "properties": { + "type": { + "anyOf": [ + { + "const": "stacked", + "description": "\"stacked\"" + }, + { + "const": "grouped", + "description": "\"grouped\"" + } + ], + "description": "(\"stacked\" | \"grouped\")" + } + }, + "required": [ + "type" + ] + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") })" + }, + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + } + ], + "description": "({ x: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>) } & Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") }), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "BarConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, 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<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }", + "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": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") }), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", + "properties": { + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + }, + { + "type": "object", + "description": "{ type: (\"stacked\" | \"grouped\") }", + "properties": { + "type": { + "anyOf": [ + { + "const": "stacked", + "description": "\"stacked\"" + }, + { + "const": "grouped", + "description": "\"grouped\"" + } + ], + "description": "(\"stacked\" | \"grouped\")" + } + }, + "required": [ + "type" + ] + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") })" + }, + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + } + ], + "description": "({ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) } & Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") }), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "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 }, 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": { + "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" + ] + }, + "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 }, 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<{ showStandardError: boolean, showConfidenceInterval: boolean }>) }", + "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": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>", + "properties": { + "showStandardError": { + "type": "boolean", + "description": "boolean" + }, + "showConfidenceInterval": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }>", + "properties": { + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + } + } + } + ], + "description": "({ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>) } & Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "MapConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + }, + "fields": { + "type": "object", + "description": "Partial<{ areaLayer: { componentId: string, color: (({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ 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, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ 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 }) }>", + "properties": { + "areaLayer": { + "type": "object", + "description": "{ componentId: string, color: (({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })) }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "color": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "type": { + "const": "categorical", + "description": "\"categorical\"" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "type", + "componentId", + "palette", + "colorMapping" + ] + }, + { + "type": "object", + "description": "Partial<{ useAbbreviations: boolean }>", + "properties": { + "useAbbreviations": { + "type": "boolean", + "description": "boolean" + } + } + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number })" + }, + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) }", + "properties": { + "type": { + "const": "numerical", + "description": "\"numerical\"" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "palette": { + "anyOf": [ + { + "anyOf": [ + { + "const": "BrBG", + "description": "\"BrBG\"" + }, + { + "const": "PiYG", + "description": "\"PiYG\"" + }, + { + "const": "PRGn", + "description": "\"PRGn\"" + }, + { + "const": "PuOr", + "description": "\"PuOr\"" + }, + { + "const": "RdBu", + "description": "\"RdBu\"" + }, + { + "const": "RdYlBu", + "description": "\"RdYlBu\"" + }, + { + "const": "RdYlGn", + "description": "\"RdYlGn\"" + } + ], + "description": "(\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\")" + }, + { + "anyOf": [ + { + "const": "blues", + "description": "\"blues\"" + }, + { + "const": "greens", + "description": "\"greens\"" + }, + { + "const": "greys", + "description": "\"greys\"" + }, + { + "const": "oranges", + "description": "\"oranges\"" + }, + { + "const": "purples", + "description": "\"purples\"" + }, + { + "const": "reds", + "description": "\"reds\"" + } + ], + "description": "(\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")" + } + ], + "description": "((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\"))" + } + }, + "required": [ + "type", + "componentId", + "palette" + ] + }, + { + "anyOf": [ + { + "type": "object", + "description": "{ scaleType: \"continuous\", interpolationType: \"linear\" }", + "properties": { + "scaleType": { + "const": "continuous", + "description": "\"continuous\"" + }, + "interpolationType": { + "const": "linear", + "description": "\"linear\"" + } + }, + "required": [ + "scaleType", + "interpolationType" + ] + }, + { + "type": "object", + "description": "{ scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }", + "properties": { + "scaleType": { + "const": "discrete", + "description": "\"discrete\"" + }, + "interpolationType": { + "anyOf": [ + { + "const": "quantize", + "description": "\"quantize\"" + }, + { + "const": "quantile", + "description": "\"quantile\"" + }, + { + "const": "jenks", + "description": "\"jenks\"" + } + ], + "description": "(\"quantize\" | \"quantile\" | \"jenks\")" + }, + "nbClass": { + "type": "number", + "description": "number" + } + }, + "required": [ + "scaleType", + "interpolationType", + "nbClass" + ] + } + ], + "description": "({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number })" + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })" + } + ], + "description": "(({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number }))" + } + }, + "required": [ + "componentId", + "color" + ] + }, + "symbolLayer": { + "type": "object", + "description": "{ componentId: string, measureId: string, color: (({ type: \"fixed\", value: string } & { opacity: number }) | ({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })) }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "measureId": { + "type": "string", + "description": "string" + }, + "color": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"fixed\", value: string }", + "properties": { + "type": { + "const": "fixed", + "description": "\"fixed\"" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"fixed\", value: string } & { opacity: number })" + }, + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "type": { + "const": "categorical", + "description": "\"categorical\"" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "type", + "componentId", + "palette", + "colorMapping" + ] + }, + { + "type": "object", + "description": "Partial<{ useAbbreviations: boolean }>", + "properties": { + "useAbbreviations": { + "type": "boolean", + "description": "boolean" + } + } + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number })" + }, + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) }", + "properties": { + "type": { + "const": "numerical", + "description": "\"numerical\"" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "palette": { + "anyOf": [ + { + "anyOf": [ + { + "const": "BrBG", + "description": "\"BrBG\"" + }, + { + "const": "PiYG", + "description": "\"PiYG\"" + }, + { + "const": "PRGn", + "description": "\"PRGn\"" + }, + { + "const": "PuOr", + "description": "\"PuOr\"" + }, + { + "const": "RdBu", + "description": "\"RdBu\"" + }, + { + "const": "RdYlBu", + "description": "\"RdYlBu\"" + }, + { + "const": "RdYlGn", + "description": "\"RdYlGn\"" + } + ], + "description": "(\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\")" + }, + { + "anyOf": [ + { + "const": "blues", + "description": "\"blues\"" + }, + { + "const": "greens", + "description": "\"greens\"" + }, + { + "const": "greys", + "description": "\"greys\"" + }, + { + "const": "oranges", + "description": "\"oranges\"" + }, + { + "const": "purples", + "description": "\"purples\"" + }, + { + "const": "reds", + "description": "\"reds\"" + } + ], + "description": "(\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")" + } + ], + "description": "((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\"))" + } + }, + "required": [ + "type", + "componentId", + "palette" + ] + }, + { + "anyOf": [ + { + "type": "object", + "description": "{ scaleType: \"continuous\", interpolationType: \"linear\" }", + "properties": { + "scaleType": { + "const": "continuous", + "description": "\"continuous\"" + }, + "interpolationType": { + "const": "linear", + "description": "\"linear\"" + } + }, + "required": [ + "scaleType", + "interpolationType" + ] + }, + { + "type": "object", + "description": "{ scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }", + "properties": { + "scaleType": { + "const": "discrete", + "description": "\"discrete\"" + }, + "interpolationType": { + "anyOf": [ + { + "const": "quantize", + "description": "\"quantize\"" + }, + { + "const": "quantile", + "description": "\"quantile\"" + }, + { + "const": "jenks", + "description": "\"jenks\"" + } + ], + "description": "(\"quantize\" | \"quantile\" | \"jenks\")" + }, + "nbClass": { + "type": "number", + "description": "number" + } + }, + "required": [ + "scaleType", + "interpolationType", + "nbClass" + ] + } + ], + "description": "({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number })" + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })" + } + ], + "description": "(({ type: \"fixed\", value: string } & { opacity: number }) | ({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number }))" + } + }, + "required": [ + "componentId", + "measureId", + "color" + ] + }, + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + }, + "baseLayer": { + "type": "object", + "description": "{ show: boolean, locked: boolean, bbox: ([[number, number], [number, number]] | undefined) }", + "properties": { + "show": { + "type": "boolean", + "description": "boolean" + }, + "locked": { + "type": "boolean", + "description": "boolean" + }, + "bbox": { + "anyOf": [ + { + "type": "array", + "description": "[[number, number], [number, number]]", + "items": [ + { + "type": "array", + "description": "[number, number]", + "items": [ + { + "type": "number", + "description": "number" + }, + { + "type": "number", + "description": "number" + } + ], + "minItems": 2, + "maxItems": 2 + }, + { + "type": "array", + "description": "[number, number]", + "items": [ + { + "type": "number", + "description": "number" + }, + { + "type": "number", + "description": "number" + } + ], + "minItems": 2, + "maxItems": 2 + } + ], + "minItems": 2, + "maxItems": 2 + }, + {} + ], + "description": "([[number, number], [number, number]] | undefined)" + } + }, + "required": [ + "show", + "locked", + "bbox" + ] + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + }, + "fields": { + "allOf": [ + { + "type": "object", + "description": "{ y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }", + "properties": { + "y": { + "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 }>)" + }, + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + } + }, + "required": [ + "y", + "segment" + ] + }, + { + "type": "object", + "description": "Partial<{ animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", + "properties": { + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + } + ], + "description": "({ y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) } & Partial<{ animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ScatterPlotConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + }, + "fields": { + "allOf": [ + { + "type": "object", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>) }", + "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": { + "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 }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", + "properties": { + "segment": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + } + ], + "description": "({ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>) } & Partial<{ segment: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "TableConfig", + "properties": { + "chartType": { + "const": "table", + "description": "\"table\"" + }, + "fields": { + "type": "object", + "description": "{ [K in string]: { componentId: string, componentType: ((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\")), index: number, isGroup: boolean, isHidden: boolean, columnStyle: ({ type: \"text\", textStyle: (\"regular\" | \"bold\"), textColor: string, columnColor: string } | { type: \"category\", textStyle: (\"regular\" | \"bold\"), palette: string, colorMapping: { [K in string]: string } } | { type: \"heatmap\", textStyle: (\"regular\" | \"bold\"), palette: (\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") } | { type: \"bar\", textStyle: (\"regular\" | \"bold\"), barColorPositive: string, barColorNegative: string, barColorBackground: string, barShowBackground: boolean }) } }", + "additionalProperties": { + "type": "object", + "description": "{ componentId: string, componentType: ((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\")), index: number, isGroup: boolean, isHidden: boolean, columnStyle: ({ type: \"text\", textStyle: (\"regular\" | \"bold\"), textColor: string, columnColor: string } | { type: \"category\", textStyle: (\"regular\" | \"bold\"), palette: string, colorMapping: { [K in string]: string } } | { type: \"heatmap\", textStyle: (\"regular\" | \"bold\"), palette: (\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") } | { type: \"bar\", textStyle: (\"regular\" | \"bold\"), barColorPositive: string, barColorNegative: string, barColorBackground: string, barShowBackground: boolean }) }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "componentType": { + "anyOf": [ + { + "anyOf": [ + { + "const": "NominalDimension", + "description": "\"NominalDimension\"" + }, + { + "const": "OrdinalDimension", + "description": "\"OrdinalDimension\"" + }, + { + "const": "TemporalDimension", + "description": "\"TemporalDimension\"" + }, + { + "const": "TemporalEntityDimension", + "description": "\"TemporalEntityDimension\"" + }, + { + "const": "TemporalOrdinalDimension", + "description": "\"TemporalOrdinalDimension\"" + }, + { + "const": "GeoCoordinatesDimension", + "description": "\"GeoCoordinatesDimension\"" + }, + { + "const": "GeoShapesDimension", + "description": "\"GeoShapesDimension\"" + }, + { + "const": "StandardErrorDimension", + "description": "\"StandardErrorDimension\"" + }, + { + "const": "ConfidenceUpperBoundDimension", + "description": "\"ConfidenceUpperBoundDimension\"" + }, + { + "const": "ConfidenceLowerBoundDimension", + "description": "\"ConfidenceLowerBoundDimension\"" + } + ], + "description": "(\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\")" + }, + { + "anyOf": [ + { + "const": "NumericalMeasure", + "description": "\"NumericalMeasure\"" + }, + { + "const": "OrdinalMeasure", + "description": "\"OrdinalMeasure\"" + } + ], + "description": "(\"NumericalMeasure\" | \"OrdinalMeasure\")" + } + ], + "description": "((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\"))" + }, + "index": { + "type": "number", + "description": "number" + }, + "isGroup": { + "type": "boolean", + "description": "boolean" + }, + "isHidden": { + "type": "boolean", + "description": "boolean" + }, + "columnStyle": { + "anyOf": [ + { + "type": "object", + "description": "{ type: \"text\", textStyle: (\"regular\" | \"bold\"), textColor: string, columnColor: string }", + "properties": { + "type": { + "const": "text", + "description": "\"text\"" + }, + "textStyle": { + "anyOf": [ + { + "const": "regular", + "description": "\"regular\"" + }, + { + "const": "bold", + "description": "\"bold\"" + } + ], + "description": "(\"regular\" | \"bold\")" + }, + "textColor": { + "type": "string", + "description": "string" + }, + "columnColor": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "textStyle", + "textColor", + "columnColor" + ] + }, + { + "type": "object", + "description": "{ type: \"category\", textStyle: (\"regular\" | \"bold\"), palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "type": { + "const": "category", + "description": "\"category\"" + }, + "textStyle": { + "anyOf": [ + { + "const": "regular", + "description": "\"regular\"" + }, + { + "const": "bold", + "description": "\"bold\"" + } + ], + "description": "(\"regular\" | \"bold\")" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "type", + "textStyle", + "palette", + "colorMapping" + ] + }, + { + "type": "object", + "description": "{ type: \"heatmap\", textStyle: (\"regular\" | \"bold\"), palette: (\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") }", + "properties": { + "type": { + "const": "heatmap", + "description": "\"heatmap\"" + }, + "textStyle": { + "anyOf": [ + { + "const": "regular", + "description": "\"regular\"" + }, + { + "const": "bold", + "description": "\"bold\"" + } + ], + "description": "(\"regular\" | \"bold\")" + }, + "palette": { + "anyOf": [ + { + "const": "BrBG", + "description": "\"BrBG\"" + }, + { + "const": "PiYG", + "description": "\"PiYG\"" + }, + { + "const": "PRGn", + "description": "\"PRGn\"" + }, + { + "const": "PuOr", + "description": "\"PuOr\"" + }, + { + "const": "RdBu", + "description": "\"RdBu\"" + }, + { + "const": "RdYlBu", + "description": "\"RdYlBu\"" + }, + { + "const": "RdYlGn", + "description": "\"RdYlGn\"" + } + ], + "description": "(\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\")" + } + }, + "required": [ + "type", + "textStyle", + "palette" + ] + }, + { + "type": "object", + "description": "{ type: \"bar\", textStyle: (\"regular\" | \"bold\"), barColorPositive: string, barColorNegative: string, barColorBackground: string, barShowBackground: boolean }", + "properties": { + "type": { + "const": "bar", + "description": "\"bar\"" + }, + "textStyle": { + "anyOf": [ + { + "const": "regular", + "description": "\"regular\"" + }, + { + "const": "bold", + "description": "\"bold\"" + } + ], + "description": "(\"regular\" | \"bold\")" + }, + "barColorPositive": { + "type": "string", + "description": "string" + }, + "barColorNegative": { + "type": "string", + "description": "string" + }, + "barColorBackground": { + "type": "string", + "description": "string" + }, + "barShowBackground": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "type", + "textStyle", + "barColorPositive", + "barColorNegative", + "barColorBackground", + "barShowBackground" + ] + } + ], + "description": "({ type: \"text\", textStyle: (\"regular\" | \"bold\"), textColor: string, columnColor: string } | { type: \"category\", textStyle: (\"regular\" | \"bold\"), palette: string, colorMapping: { [K in string]: string } } | { type: \"heatmap\", textStyle: (\"regular\" | \"bold\"), palette: (\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") } | { type: \"bar\", textStyle: (\"regular\" | \"bold\"), barColorPositive: string, barColorNegative: string, barColorBackground: string, barShowBackground: boolean })" + } + }, + "required": [ + "componentId", + "componentType", + "index", + "isGroup", + "isHidden", + "columnStyle" + ] + } + }, + "settings": { + "type": "object", + "description": "{ showSearch: boolean, showAllRows: boolean }", + "properties": { + "showSearch": { + "type": "boolean", + "description": "boolean" + }, + "showAllRows": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showSearch", + "showAllRows" + ] + }, + "sorting": { + "type": "array", + "description": "Array<{ componentId: string, componentType: ((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\")), sortingOrder: (\"asc\" | \"desc\") }>", + "items": { + "type": "object", + "description": "{ componentId: string, componentType: ((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\")), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "componentType": { + "anyOf": [ + { + "anyOf": [ + { + "const": "NominalDimension", + "description": "\"NominalDimension\"" + }, + { + "const": "OrdinalDimension", + "description": "\"OrdinalDimension\"" + }, + { + "const": "TemporalDimension", + "description": "\"TemporalDimension\"" + }, + { + "const": "TemporalEntityDimension", + "description": "\"TemporalEntityDimension\"" + }, + { + "const": "TemporalOrdinalDimension", + "description": "\"TemporalOrdinalDimension\"" + }, + { + "const": "GeoCoordinatesDimension", + "description": "\"GeoCoordinatesDimension\"" + }, + { + "const": "GeoShapesDimension", + "description": "\"GeoShapesDimension\"" + }, + { + "const": "StandardErrorDimension", + "description": "\"StandardErrorDimension\"" + }, + { + "const": "ConfidenceUpperBoundDimension", + "description": "\"ConfidenceUpperBoundDimension\"" + }, + { + "const": "ConfidenceLowerBoundDimension", + "description": "\"ConfidenceLowerBoundDimension\"" + } + ], + "description": "(\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\")" + }, + { + "anyOf": [ + { + "const": "NumericalMeasure", + "description": "\"NumericalMeasure\"" + }, + { + "const": "OrdinalMeasure", + "description": "\"OrdinalMeasure\"" + } + ], + "description": "(\"NumericalMeasure\" | \"OrdinalMeasure\")" + } + ], + "description": "((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\"))" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "componentId", + "componentType", + "sortingOrder" + ] + } + }, + "interactiveFiltersConfig": {} + }, + "required": [ + "chartType", + "fields", + "settings", + "sorting", + "interactiveFiltersConfig" + ] + } + ], + "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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, activeField: (string | undefined) } & TableConfig))" + }, + { + "anyOf": [ + { + "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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ComboLineSingleConfig", + "properties": { + "chartType": { + "const": "comboLineSingle", + "description": "\"comboLineSingle\"" + }, + "fields": { + "type": "object", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: { componentIds: Array, palette: string, colorMapping: { [K in string]: 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": { + "type": "object", + "description": "{ componentIds: Array, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "componentIds", + "palette", + "colorMapping" + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + } + }, + "required": [ + "chartType", + "fields", + "interactiveFiltersConfig" + ] + } + ], + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ComboLineDualConfig", + "properties": { + "chartType": { + "const": "comboLineDual", + "description": "\"comboLineDual\"" + }, + "fields": { + "type": "object", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: { leftAxisComponentId: string, rightAxisComponentId: string, palette: string, colorMapping: { [K in string]: 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": { + "type": "object", + "description": "{ leftAxisComponentId: string, rightAxisComponentId: string, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "leftAxisComponentId": { + "type": "string", + "description": "string" + }, + "rightAxisComponentId": { + "type": "string", + "description": "string" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "leftAxisComponentId", + "rightAxisComponentId", + "palette", + "colorMapping" + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + } + }, + "required": [ + "chartType", + "fields", + "interactiveFiltersConfig" + ] + } + ], + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ComboLineColumnConfig", + "properties": { + "chartType": { + "const": "comboLineColumn", + "description": "\"comboLineColumn\"" + }, + "fields": { + "type": "object", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: { lineComponentId: string, lineAxisOrientation: (\"left\" | \"right\"), columnComponentId: string, palette: string, colorMapping: { [K in string]: 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": { + "type": "object", + "description": "{ lineComponentId: string, lineAxisOrientation: (\"left\" | \"right\"), columnComponentId: string, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "lineComponentId": { + "type": "string", + "description": "string" + }, + "lineAxisOrientation": { + "anyOf": [ + { + "const": "left", + "description": "\"left\"" + }, + { + "const": "right", + "description": "\"right\"" + } + ], + "description": "(\"left\" | \"right\")" + }, + "columnComponentId": { + "type": "string", + "description": "string" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "lineComponentId", + "lineAxisOrientation", + "columnComponentId", + "palette", + "colorMapping" + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + } + }, + "required": [ + "chartType", + "fields", + "interactiveFiltersConfig" + ] + } + ], + "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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, activeField: (string | undefined) } & ComboLineColumnConfig)))" + } + }, + "activeChartKey": { + "type": "string", + "description": "string" + }, + "dashboardFilters": { + "anyOf": [ + { + "type": "object", + "description": "{ timeRange: { active: boolean, timeUnit: string, presets: { from: string, to: string } }, dataFilters: { componentIds: Array, filters: SingleFilters } }", + "properties": { + "timeRange": { + "type": "object", + "description": "{ active: boolean, timeUnit: string, presets: { from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "timeUnit": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ from: string, to: string }", + "properties": { + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "from", + "to" + ] + } + }, + "required": [ + "active", + "timeUnit", + "presets" + ] + }, + "dataFilters": { + "type": "object", + "description": "{ componentIds: Array, filters: SingleFilters }", + "properties": { + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "filters": { + "type": "object", + "description": "SingleFilters", + "additionalProperties": { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + } + } + }, + "required": [ + "componentIds", + "filters" + ] + } + }, + "required": [ + "timeRange", + "dataFilters" + ] + }, + {} + ], + "description": "({ timeRange: { active: boolean, timeUnit: string, presets: { from: string, to: string } }, dataFilters: { componentIds: Array, filters: SingleFilters } } | undefined)" + } + }, + "required": [ + "version", + "dataSource", + "layout", + "chartConfigs", + "activeChartKey", + "dashboardFilters" + ] + }, + { + "type": "object", + "description": "Partial<{ key: string }>", + "properties": { + "key": { + "type": "string", + "description": "string" + } + } + } + ], + "description": "(Config & Partial<{ key: string }>)" + } + ], + "description": "({ state: \"LAYOUTING\" } & (Config & Partial<{ key: string }>))" + }, + { + "allOf": [ + { + "type": "object", + "description": "{ state: \"PUBLISHING\" }", + "properties": { + "state": { + "const": "PUBLISHING", + "description": "\"PUBLISHING\"" + } + }, + "required": [ + "state" + ] + }, + { + "allOf": [ + { + "type": "object", + "description": "Config", + "properties": { + "version": { + "type": "string", + "description": "string" + }, + "dataSource": { + "type": "object", + "description": "{ type: (\"sql\" | \"sparql\"), url: string }", + "properties": { + "type": { + "anyOf": [ + { + "const": "sql", + "description": "\"sql\"" + }, + { + "const": "sparql", + "description": "\"sparql\"" + } + ], + "description": "(\"sql\" | \"sparql\")" + }, + "url": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "url" + ] + }, + "layout": { + "allOf": [ + { + "type": "object", + "description": "{ activeField: (undefined | string), meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } } }", + "properties": { + "activeField": { + "anyOf": [ + {}, + { + "type": "string", + "description": "string" + } + ], + "description": "(undefined | string)" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + } + }, + "required": [ + "activeField", + "meta" + ] + }, + { + "anyOf": [ + { + "type": "object", + "description": "{ type: \"tab\" }", + "properties": { + "type": { + "const": "tab", + "description": "\"tab\"" + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "description": "{ type: \"dashboard\", layout: (\"vertical\" | \"tall\") }", + "properties": { + "type": { + "const": "dashboard", + "description": "\"dashboard\"" + }, + "layout": { + "anyOf": [ + { + "const": "vertical", + "description": "\"vertical\"" + }, + { + "const": "tall", + "description": "\"tall\"" + } + ], + "description": "(\"vertical\" | \"tall\")" + } + }, + "required": [ + "type", + "layout" + ] + }, + { + "type": "object", + "description": "{ type: \"dashboard\", layout: \"canvas\", layouts: { [K in string]: Array<{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }> }, layoutsMetadata: { [K in string]: { initialized: boolean } } }", + "properties": { + "type": { + "const": "dashboard", + "description": "\"dashboard\"" + }, + "layout": { + "const": "canvas", + "description": "\"canvas\"" + }, + "layouts": { + "type": "object", + "description": "{ [K in string]: Array<{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }> }", + "additionalProperties": { + "type": "array", + "description": "Array<{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }>", + "items": { + "type": "object", + "description": "{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }", + "properties": { + "w": { + "type": "number", + "description": "number" + }, + "h": { + "type": "number", + "description": "number" + }, + "x": { + "type": "number", + "description": "number" + }, + "y": { + "type": "number", + "description": "number" + }, + "i": { + "type": "string", + "description": "string" + }, + "resizeHandles": { + "anyOf": [ + { + "type": "array", + "description": "Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\">", + "items": { + "enum": [ + "s", + "w", + "e", + "n", + "sw", + "nw", + "se", + "ne" + ], + "description": "\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"" + } + }, + {} + ], + "description": "(Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined)" + } + }, + "required": [ + "w", + "h", + "x", + "y", + "i", + "resizeHandles" + ] + } + } + }, + "layoutsMetadata": { + "type": "object", + "description": "{ [K in string]: { initialized: boolean } }", + "additionalProperties": { + "type": "object", + "description": "{ initialized: boolean }", + "properties": { + "initialized": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "initialized" + ] + } + } + }, + "required": [ + "type", + "layout", + "layouts", + "layoutsMetadata" + ] + }, + { + "type": "object", + "description": "{ type: \"singleURLs\", publishableChartKeys: Array }", + "properties": { + "type": { + "const": "singleURLs", + "description": "\"singleURLs\"" + }, + "publishableChartKeys": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "type", + "publishableChartKeys" + ] + } + ], + "description": "({ type: \"tab\" } | { type: \"dashboard\", layout: (\"vertical\" | \"tall\") } | { type: \"dashboard\", layout: \"canvas\", layouts: { [K in string]: Array<{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }> }, layoutsMetadata: { [K in string]: { initialized: boolean } } } | { type: \"singleURLs\", publishableChartKeys: Array })" + } + ], + "description": "({ activeField: (undefined | string), meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } } } & ({ type: \"tab\" } | { type: \"dashboard\", layout: (\"vertical\" | \"tall\") } | { type: \"dashboard\", layout: \"canvas\", layouts: { [K in string]: Array<{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }> }, layoutsMetadata: { [K in string]: { initialized: boolean } } } | { type: \"singleURLs\", publishableChartKeys: Array }))" + }, + "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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, activeField: (string | undefined) } & ComboLineColumnConfig)))>", + "items": { + "anyOf": [ + { + "anyOf": [ + { + "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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "AreaConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, 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<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>) }", + "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": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>", + "properties": { + "imputationType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "zeros", + "description": "\"zeros\"" + }, + { + "const": "linear", + "description": "\"linear\"" + } + ], + "description": "(\"none\" | \"zeros\" | \"linear\")" + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }>", + "properties": { + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + } + } + } + ], + "description": "({ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>) } & Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ColumnConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, 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<{ showStandardError: boolean, showConfidenceInterval: boolean }>) }", + "properties": { + "x": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + }, + "y": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>", + "properties": { + "showStandardError": { + "type": "boolean", + "description": "boolean" + }, + "showConfidenceInterval": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") }), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", + "properties": { + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + }, + { + "type": "object", + "description": "{ type: (\"stacked\" | \"grouped\") }", + "properties": { + "type": { + "anyOf": [ + { + "const": "stacked", + "description": "\"stacked\"" + }, + { + "const": "grouped", + "description": "\"grouped\"" + } + ], + "description": "(\"stacked\" | \"grouped\")" + } + }, + "required": [ + "type" + ] + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") })" + }, + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + } + ], + "description": "({ x: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>) } & Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") }), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "BarConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, 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<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }", + "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": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") }), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", + "properties": { + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + }, + { + "type": "object", + "description": "{ type: (\"stacked\" | \"grouped\") }", + "properties": { + "type": { + "anyOf": [ + { + "const": "stacked", + "description": "\"stacked\"" + }, + { + "const": "grouped", + "description": "\"grouped\"" + } + ], + "description": "(\"stacked\" | \"grouped\")" + } + }, + "required": [ + "type" + ] + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") })" + }, + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + } + ], + "description": "({ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) } & Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") }), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "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 }, 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": { + "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" + ] + }, + "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 }, 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<{ showStandardError: boolean, showConfidenceInterval: boolean }>) }", + "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": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>", + "properties": { + "showStandardError": { + "type": "boolean", + "description": "boolean" + }, + "showConfidenceInterval": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }>", + "properties": { + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + } + } + } + ], + "description": "({ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>) } & Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "MapConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + }, + "fields": { + "type": "object", + "description": "Partial<{ areaLayer: { componentId: string, color: (({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ 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, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ 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 }) }>", + "properties": { + "areaLayer": { + "type": "object", + "description": "{ componentId: string, color: (({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })) }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "color": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "type": { + "const": "categorical", + "description": "\"categorical\"" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "type", + "componentId", + "palette", + "colorMapping" + ] + }, + { + "type": "object", + "description": "Partial<{ useAbbreviations: boolean }>", + "properties": { + "useAbbreviations": { + "type": "boolean", + "description": "boolean" + } + } + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number })" + }, + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) }", + "properties": { + "type": { + "const": "numerical", + "description": "\"numerical\"" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "palette": { + "anyOf": [ + { + "anyOf": [ + { + "const": "BrBG", + "description": "\"BrBG\"" + }, + { + "const": "PiYG", + "description": "\"PiYG\"" + }, + { + "const": "PRGn", + "description": "\"PRGn\"" + }, + { + "const": "PuOr", + "description": "\"PuOr\"" + }, + { + "const": "RdBu", + "description": "\"RdBu\"" + }, + { + "const": "RdYlBu", + "description": "\"RdYlBu\"" + }, + { + "const": "RdYlGn", + "description": "\"RdYlGn\"" + } + ], + "description": "(\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\")" + }, + { + "anyOf": [ + { + "const": "blues", + "description": "\"blues\"" + }, + { + "const": "greens", + "description": "\"greens\"" + }, + { + "const": "greys", + "description": "\"greys\"" + }, + { + "const": "oranges", + "description": "\"oranges\"" + }, + { + "const": "purples", + "description": "\"purples\"" + }, + { + "const": "reds", + "description": "\"reds\"" + } + ], + "description": "(\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")" + } + ], + "description": "((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\"))" + } + }, + "required": [ + "type", + "componentId", + "palette" + ] + }, + { + "anyOf": [ + { + "type": "object", + "description": "{ scaleType: \"continuous\", interpolationType: \"linear\" }", + "properties": { + "scaleType": { + "const": "continuous", + "description": "\"continuous\"" + }, + "interpolationType": { + "const": "linear", + "description": "\"linear\"" + } + }, + "required": [ + "scaleType", + "interpolationType" + ] + }, + { + "type": "object", + "description": "{ scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }", + "properties": { + "scaleType": { + "const": "discrete", + "description": "\"discrete\"" + }, + "interpolationType": { + "anyOf": [ + { + "const": "quantize", + "description": "\"quantize\"" + }, + { + "const": "quantile", + "description": "\"quantile\"" + }, + { + "const": "jenks", + "description": "\"jenks\"" + } + ], + "description": "(\"quantize\" | \"quantile\" | \"jenks\")" + }, + "nbClass": { + "type": "number", + "description": "number" + } + }, + "required": [ + "scaleType", + "interpolationType", + "nbClass" + ] + } + ], + "description": "({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number })" + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })" + } + ], + "description": "(({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number }))" + } + }, + "required": [ + "componentId", + "color" + ] + }, + "symbolLayer": { + "type": "object", + "description": "{ componentId: string, measureId: string, color: (({ type: \"fixed\", value: string } & { opacity: number }) | ({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })) }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "measureId": { + "type": "string", + "description": "string" + }, + "color": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"fixed\", value: string }", + "properties": { + "type": { + "const": "fixed", + "description": "\"fixed\"" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"fixed\", value: string } & { opacity: number })" + }, + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "type": { + "const": "categorical", + "description": "\"categorical\"" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "type", + "componentId", + "palette", + "colorMapping" + ] + }, + { + "type": "object", + "description": "Partial<{ useAbbreviations: boolean }>", + "properties": { + "useAbbreviations": { + "type": "boolean", + "description": "boolean" + } + } + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number })" + }, + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) }", + "properties": { + "type": { + "const": "numerical", + "description": "\"numerical\"" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "palette": { + "anyOf": [ + { + "anyOf": [ + { + "const": "BrBG", + "description": "\"BrBG\"" + }, + { + "const": "PiYG", + "description": "\"PiYG\"" + }, + { + "const": "PRGn", + "description": "\"PRGn\"" + }, + { + "const": "PuOr", + "description": "\"PuOr\"" + }, + { + "const": "RdBu", + "description": "\"RdBu\"" + }, + { + "const": "RdYlBu", + "description": "\"RdYlBu\"" + }, + { + "const": "RdYlGn", + "description": "\"RdYlGn\"" + } + ], + "description": "(\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\")" + }, + { + "anyOf": [ + { + "const": "blues", + "description": "\"blues\"" + }, + { + "const": "greens", + "description": "\"greens\"" + }, + { + "const": "greys", + "description": "\"greys\"" + }, + { + "const": "oranges", + "description": "\"oranges\"" + }, + { + "const": "purples", + "description": "\"purples\"" + }, + { + "const": "reds", + "description": "\"reds\"" + } + ], + "description": "(\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")" + } + ], + "description": "((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\"))" + } + }, + "required": [ + "type", + "componentId", + "palette" + ] + }, + { + "anyOf": [ + { + "type": "object", + "description": "{ scaleType: \"continuous\", interpolationType: \"linear\" }", + "properties": { + "scaleType": { + "const": "continuous", + "description": "\"continuous\"" + }, + "interpolationType": { + "const": "linear", + "description": "\"linear\"" + } + }, + "required": [ + "scaleType", + "interpolationType" + ] + }, + { + "type": "object", + "description": "{ scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }", + "properties": { + "scaleType": { + "const": "discrete", + "description": "\"discrete\"" + }, + "interpolationType": { + "anyOf": [ + { + "const": "quantize", + "description": "\"quantize\"" + }, + { + "const": "quantile", + "description": "\"quantile\"" + }, + { + "const": "jenks", + "description": "\"jenks\"" + } + ], + "description": "(\"quantize\" | \"quantile\" | \"jenks\")" + }, + "nbClass": { + "type": "number", + "description": "number" + } + }, + "required": [ + "scaleType", + "interpolationType", + "nbClass" + ] + } + ], + "description": "({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number })" + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })" + } + ], + "description": "(({ type: \"fixed\", value: string } & { opacity: number }) | ({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number }))" + } + }, + "required": [ + "componentId", + "measureId", + "color" + ] + }, + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + }, + "baseLayer": { + "type": "object", + "description": "{ show: boolean, locked: boolean, bbox: ([[number, number], [number, number]] | undefined) }", + "properties": { + "show": { + "type": "boolean", + "description": "boolean" + }, + "locked": { + "type": "boolean", + "description": "boolean" + }, + "bbox": { + "anyOf": [ + { + "type": "array", + "description": "[[number, number], [number, number]]", + "items": [ + { + "type": "array", + "description": "[number, number]", + "items": [ + { + "type": "number", + "description": "number" + }, + { + "type": "number", + "description": "number" + } + ], + "minItems": 2, + "maxItems": 2 + }, + { + "type": "array", + "description": "[number, number]", + "items": [ + { + "type": "number", + "description": "number" + }, + { + "type": "number", + "description": "number" + } + ], + "minItems": 2, + "maxItems": 2 + } + ], + "minItems": 2, + "maxItems": 2 + }, + {} + ], + "description": "([[number, number], [number, number]] | undefined)" + } + }, + "required": [ + "show", + "locked", + "bbox" + ] + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + }, + "fields": { + "allOf": [ + { + "type": "object", + "description": "{ y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }", + "properties": { + "y": { + "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 }>)" + }, + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + } + }, + "required": [ + "y", + "segment" + ] + }, + { + "type": "object", + "description": "Partial<{ animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", + "properties": { + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + } + ], + "description": "({ y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) } & Partial<{ animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ScatterPlotConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + }, + "fields": { + "allOf": [ + { + "type": "object", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>) }", + "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": { + "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 }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", + "properties": { + "segment": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + } + ], + "description": "({ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>) } & Partial<{ segment: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "TableConfig", + "properties": { + "chartType": { + "const": "table", + "description": "\"table\"" + }, + "fields": { + "type": "object", + "description": "{ [K in string]: { componentId: string, componentType: ((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\")), index: number, isGroup: boolean, isHidden: boolean, columnStyle: ({ type: \"text\", textStyle: (\"regular\" | \"bold\"), textColor: string, columnColor: string } | { type: \"category\", textStyle: (\"regular\" | \"bold\"), palette: string, colorMapping: { [K in string]: string } } | { type: \"heatmap\", textStyle: (\"regular\" | \"bold\"), palette: (\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") } | { type: \"bar\", textStyle: (\"regular\" | \"bold\"), barColorPositive: string, barColorNegative: string, barColorBackground: string, barShowBackground: boolean }) } }", + "additionalProperties": { + "type": "object", + "description": "{ componentId: string, componentType: ((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\")), index: number, isGroup: boolean, isHidden: boolean, columnStyle: ({ type: \"text\", textStyle: (\"regular\" | \"bold\"), textColor: string, columnColor: string } | { type: \"category\", textStyle: (\"regular\" | \"bold\"), palette: string, colorMapping: { [K in string]: string } } | { type: \"heatmap\", textStyle: (\"regular\" | \"bold\"), palette: (\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") } | { type: \"bar\", textStyle: (\"regular\" | \"bold\"), barColorPositive: string, barColorNegative: string, barColorBackground: string, barShowBackground: boolean }) }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "componentType": { + "anyOf": [ + { + "anyOf": [ + { + "const": "NominalDimension", + "description": "\"NominalDimension\"" + }, + { + "const": "OrdinalDimension", + "description": "\"OrdinalDimension\"" + }, + { + "const": "TemporalDimension", + "description": "\"TemporalDimension\"" + }, + { + "const": "TemporalEntityDimension", + "description": "\"TemporalEntityDimension\"" + }, + { + "const": "TemporalOrdinalDimension", + "description": "\"TemporalOrdinalDimension\"" + }, + { + "const": "GeoCoordinatesDimension", + "description": "\"GeoCoordinatesDimension\"" + }, + { + "const": "GeoShapesDimension", + "description": "\"GeoShapesDimension\"" + }, + { + "const": "StandardErrorDimension", + "description": "\"StandardErrorDimension\"" + }, + { + "const": "ConfidenceUpperBoundDimension", + "description": "\"ConfidenceUpperBoundDimension\"" + }, + { + "const": "ConfidenceLowerBoundDimension", + "description": "\"ConfidenceLowerBoundDimension\"" + } + ], + "description": "(\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\")" + }, + { + "anyOf": [ + { + "const": "NumericalMeasure", + "description": "\"NumericalMeasure\"" + }, + { + "const": "OrdinalMeasure", + "description": "\"OrdinalMeasure\"" + } + ], + "description": "(\"NumericalMeasure\" | \"OrdinalMeasure\")" + } + ], + "description": "((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\"))" + }, + "index": { + "type": "number", + "description": "number" + }, + "isGroup": { + "type": "boolean", + "description": "boolean" + }, + "isHidden": { + "type": "boolean", + "description": "boolean" + }, + "columnStyle": { + "anyOf": [ + { + "type": "object", + "description": "{ type: \"text\", textStyle: (\"regular\" | \"bold\"), textColor: string, columnColor: string }", + "properties": { + "type": { + "const": "text", + "description": "\"text\"" + }, + "textStyle": { + "anyOf": [ + { + "const": "regular", + "description": "\"regular\"" + }, + { + "const": "bold", + "description": "\"bold\"" + } + ], + "description": "(\"regular\" | \"bold\")" + }, + "textColor": { + "type": "string", + "description": "string" + }, + "columnColor": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "textStyle", + "textColor", + "columnColor" + ] + }, + { + "type": "object", + "description": "{ type: \"category\", textStyle: (\"regular\" | \"bold\"), palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "type": { + "const": "category", + "description": "\"category\"" + }, + "textStyle": { + "anyOf": [ + { + "const": "regular", + "description": "\"regular\"" + }, + { + "const": "bold", + "description": "\"bold\"" + } + ], + "description": "(\"regular\" | \"bold\")" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "type", + "textStyle", + "palette", + "colorMapping" + ] + }, + { + "type": "object", + "description": "{ type: \"heatmap\", textStyle: (\"regular\" | \"bold\"), palette: (\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") }", + "properties": { + "type": { + "const": "heatmap", + "description": "\"heatmap\"" + }, + "textStyle": { + "anyOf": [ + { + "const": "regular", + "description": "\"regular\"" + }, + { + "const": "bold", + "description": "\"bold\"" + } + ], + "description": "(\"regular\" | \"bold\")" + }, + "palette": { + "anyOf": [ + { + "const": "BrBG", + "description": "\"BrBG\"" + }, + { + "const": "PiYG", + "description": "\"PiYG\"" + }, + { + "const": "PRGn", + "description": "\"PRGn\"" + }, + { + "const": "PuOr", + "description": "\"PuOr\"" + }, + { + "const": "RdBu", + "description": "\"RdBu\"" + }, + { + "const": "RdYlBu", + "description": "\"RdYlBu\"" + }, + { + "const": "RdYlGn", + "description": "\"RdYlGn\"" + } + ], + "description": "(\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\")" + } + }, + "required": [ + "type", + "textStyle", + "palette" + ] + }, + { + "type": "object", + "description": "{ type: \"bar\", textStyle: (\"regular\" | \"bold\"), barColorPositive: string, barColorNegative: string, barColorBackground: string, barShowBackground: boolean }", + "properties": { + "type": { + "const": "bar", + "description": "\"bar\"" + }, + "textStyle": { + "anyOf": [ + { + "const": "regular", + "description": "\"regular\"" + }, + { + "const": "bold", + "description": "\"bold\"" + } + ], + "description": "(\"regular\" | \"bold\")" + }, + "barColorPositive": { + "type": "string", + "description": "string" + }, + "barColorNegative": { + "type": "string", + "description": "string" + }, + "barColorBackground": { + "type": "string", + "description": "string" + }, + "barShowBackground": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "type", + "textStyle", + "barColorPositive", + "barColorNegative", + "barColorBackground", + "barShowBackground" + ] + } + ], + "description": "({ type: \"text\", textStyle: (\"regular\" | \"bold\"), textColor: string, columnColor: string } | { type: \"category\", textStyle: (\"regular\" | \"bold\"), palette: string, colorMapping: { [K in string]: string } } | { type: \"heatmap\", textStyle: (\"regular\" | \"bold\"), palette: (\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") } | { type: \"bar\", textStyle: (\"regular\" | \"bold\"), barColorPositive: string, barColorNegative: string, barColorBackground: string, barShowBackground: boolean })" + } + }, + "required": [ + "componentId", + "componentType", + "index", + "isGroup", + "isHidden", + "columnStyle" + ] + } + }, + "settings": { + "type": "object", + "description": "{ showSearch: boolean, showAllRows: boolean }", + "properties": { + "showSearch": { + "type": "boolean", + "description": "boolean" + }, + "showAllRows": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showSearch", + "showAllRows" + ] + }, + "sorting": { + "type": "array", + "description": "Array<{ componentId: string, componentType: ((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\")), sortingOrder: (\"asc\" | \"desc\") }>", + "items": { + "type": "object", + "description": "{ componentId: string, componentType: ((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\")), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "componentType": { + "anyOf": [ + { + "anyOf": [ + { + "const": "NominalDimension", + "description": "\"NominalDimension\"" + }, + { + "const": "OrdinalDimension", + "description": "\"OrdinalDimension\"" + }, + { + "const": "TemporalDimension", + "description": "\"TemporalDimension\"" + }, + { + "const": "TemporalEntityDimension", + "description": "\"TemporalEntityDimension\"" + }, + { + "const": "TemporalOrdinalDimension", + "description": "\"TemporalOrdinalDimension\"" + }, + { + "const": "GeoCoordinatesDimension", + "description": "\"GeoCoordinatesDimension\"" + }, + { + "const": "GeoShapesDimension", + "description": "\"GeoShapesDimension\"" + }, + { + "const": "StandardErrorDimension", + "description": "\"StandardErrorDimension\"" + }, + { + "const": "ConfidenceUpperBoundDimension", + "description": "\"ConfidenceUpperBoundDimension\"" + }, + { + "const": "ConfidenceLowerBoundDimension", + "description": "\"ConfidenceLowerBoundDimension\"" + } + ], + "description": "(\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\")" + }, + { + "anyOf": [ + { + "const": "NumericalMeasure", + "description": "\"NumericalMeasure\"" + }, + { + "const": "OrdinalMeasure", + "description": "\"OrdinalMeasure\"" + } + ], + "description": "(\"NumericalMeasure\" | \"OrdinalMeasure\")" + } + ], + "description": "((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\"))" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "componentId", + "componentType", + "sortingOrder" + ] + } + }, + "interactiveFiltersConfig": {} + }, + "required": [ + "chartType", + "fields", + "settings", + "sorting", + "interactiveFiltersConfig" + ] + } + ], + "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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, activeField: (string | undefined) } & TableConfig))" + }, + { + "anyOf": [ + { + "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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ComboLineSingleConfig", + "properties": { + "chartType": { + "const": "comboLineSingle", + "description": "\"comboLineSingle\"" + }, + "fields": { + "type": "object", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: { componentIds: Array, palette: string, colorMapping: { [K in string]: 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": { + "type": "object", + "description": "{ componentIds: Array, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "componentIds", + "palette", + "colorMapping" + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + } + }, + "required": [ + "chartType", + "fields", + "interactiveFiltersConfig" + ] + } + ], + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ComboLineDualConfig", + "properties": { + "chartType": { + "const": "comboLineDual", + "description": "\"comboLineDual\"" + }, + "fields": { + "type": "object", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: { leftAxisComponentId: string, rightAxisComponentId: string, palette: string, colorMapping: { [K in string]: 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": { + "type": "object", + "description": "{ leftAxisComponentId: string, rightAxisComponentId: string, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "leftAxisComponentId": { + "type": "string", + "description": "string" + }, + "rightAxisComponentId": { + "type": "string", + "description": "string" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "leftAxisComponentId", + "rightAxisComponentId", + "palette", + "colorMapping" + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + } + }, + "required": [ + "chartType", + "fields", + "interactiveFiltersConfig" + ] + } + ], + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ComboLineColumnConfig", + "properties": { + "chartType": { + "const": "comboLineColumn", + "description": "\"comboLineColumn\"" + }, + "fields": { + "type": "object", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: { lineComponentId: string, lineAxisOrientation: (\"left\" | \"right\"), columnComponentId: string, palette: string, colorMapping: { [K in string]: 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": { + "type": "object", + "description": "{ lineComponentId: string, lineAxisOrientation: (\"left\" | \"right\"), columnComponentId: string, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "lineComponentId": { + "type": "string", + "description": "string" + }, + "lineAxisOrientation": { + "anyOf": [ + { + "const": "left", + "description": "\"left\"" + }, + { + "const": "right", + "description": "\"right\"" + } + ], + "description": "(\"left\" | \"right\")" + }, + "columnComponentId": { + "type": "string", + "description": "string" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "lineComponentId", + "lineAxisOrientation", + "columnComponentId", + "palette", + "colorMapping" + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + } + }, + "required": [ + "chartType", + "fields", + "interactiveFiltersConfig" + ] + } + ], + "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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, activeField: (string | undefined) } & ComboLineColumnConfig)))" + } + }, + "activeChartKey": { + "type": "string", + "description": "string" + }, + "dashboardFilters": { + "anyOf": [ + { + "type": "object", + "description": "{ timeRange: { active: boolean, timeUnit: string, presets: { from: string, to: string } }, dataFilters: { componentIds: Array, filters: SingleFilters } }", + "properties": { + "timeRange": { + "type": "object", + "description": "{ active: boolean, timeUnit: string, presets: { from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "timeUnit": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ from: string, to: string }", + "properties": { + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "from", + "to" + ] + } + }, + "required": [ + "active", + "timeUnit", + "presets" + ] + }, + "dataFilters": { + "type": "object", + "description": "{ componentIds: Array, filters: SingleFilters }", + "properties": { + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "filters": { + "type": "object", + "description": "SingleFilters", + "additionalProperties": { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + } + } + }, + "required": [ + "componentIds", + "filters" + ] + } + }, + "required": [ + "timeRange", + "dataFilters" + ] + }, + {} + ], + "description": "({ timeRange: { active: boolean, timeUnit: string, presets: { from: string, to: string } }, dataFilters: { componentIds: Array, filters: SingleFilters } } | undefined)" + } + }, + "required": [ + "version", + "dataSource", + "layout", + "chartConfigs", + "activeChartKey", + "dashboardFilters" + ] + }, + { + "type": "object", + "description": "Partial<{ key: string }>", + "properties": { + "key": { + "type": "string", + "description": "string" + } + } + } + ], + "description": "(Config & Partial<{ key: string }>)" + } + ], + "description": "({ state: \"PUBLISHING\" } & (Config & Partial<{ key: string }>))" + }, + { + "allOf": [ + { + "type": "object", + "description": "{ state: \"PUBLISHED\" }", + "properties": { + "state": { + "const": "PUBLISHED", + "description": "\"PUBLISHED\"" + } + }, + "required": [ + "state" + ] + }, + { + "allOf": [ + { + "type": "object", + "description": "Config", + "properties": { + "version": { + "type": "string", + "description": "string" + }, + "dataSource": { + "type": "object", + "description": "{ type: (\"sql\" | \"sparql\"), url: string }", + "properties": { + "type": { + "anyOf": [ + { + "const": "sql", + "description": "\"sql\"" + }, + { + "const": "sparql", + "description": "\"sparql\"" + } + ], + "description": "(\"sql\" | \"sparql\")" + }, + "url": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "url" + ] + }, + "layout": { + "allOf": [ + { + "type": "object", + "description": "{ activeField: (undefined | string), meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } } }", + "properties": { + "activeField": { + "anyOf": [ + {}, + { + "type": "string", + "description": "string" + } + ], + "description": "(undefined | string)" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + } + }, + "required": [ + "activeField", + "meta" + ] + }, + { + "anyOf": [ + { + "type": "object", + "description": "{ type: \"tab\" }", + "properties": { + "type": { + "const": "tab", + "description": "\"tab\"" + } + }, + "required": [ + "type" + ] + }, + { + "type": "object", + "description": "{ type: \"dashboard\", layout: (\"vertical\" | \"tall\") }", + "properties": { + "type": { + "const": "dashboard", + "description": "\"dashboard\"" + }, + "layout": { + "anyOf": [ + { + "const": "vertical", + "description": "\"vertical\"" + }, + { + "const": "tall", + "description": "\"tall\"" + } + ], + "description": "(\"vertical\" | \"tall\")" + } + }, + "required": [ + "type", + "layout" + ] + }, + { + "type": "object", + "description": "{ type: \"dashboard\", layout: \"canvas\", layouts: { [K in string]: Array<{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }> }, layoutsMetadata: { [K in string]: { initialized: boolean } } }", + "properties": { + "type": { + "const": "dashboard", + "description": "\"dashboard\"" + }, + "layout": { + "const": "canvas", + "description": "\"canvas\"" + }, + "layouts": { + "type": "object", + "description": "{ [K in string]: Array<{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }> }", + "additionalProperties": { + "type": "array", + "description": "Array<{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }>", + "items": { + "type": "object", + "description": "{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }", + "properties": { + "w": { + "type": "number", + "description": "number" + }, + "h": { + "type": "number", + "description": "number" + }, + "x": { + "type": "number", + "description": "number" + }, + "y": { + "type": "number", + "description": "number" + }, + "i": { + "type": "string", + "description": "string" + }, + "resizeHandles": { + "anyOf": [ + { + "type": "array", + "description": "Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\">", + "items": { + "enum": [ + "s", + "w", + "e", + "n", + "sw", + "nw", + "se", + "ne" + ], + "description": "\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"" + } + }, + {} + ], + "description": "(Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined)" + } + }, + "required": [ + "w", + "h", + "x", + "y", + "i", + "resizeHandles" + ] + } + } + }, + "layoutsMetadata": { + "type": "object", + "description": "{ [K in string]: { initialized: boolean } }", + "additionalProperties": { + "type": "object", + "description": "{ initialized: boolean }", + "properties": { + "initialized": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "initialized" + ] + } + } + }, + "required": [ + "type", + "layout", + "layouts", + "layoutsMetadata" + ] + }, + { + "type": "object", + "description": "{ type: \"singleURLs\", publishableChartKeys: Array }", + "properties": { + "type": { + "const": "singleURLs", + "description": "\"singleURLs\"" + }, + "publishableChartKeys": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "type", + "publishableChartKeys" + ] + } + ], + "description": "({ type: \"tab\" } | { type: \"dashboard\", layout: (\"vertical\" | \"tall\") } | { type: \"dashboard\", layout: \"canvas\", layouts: { [K in string]: Array<{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }> }, layoutsMetadata: { [K in string]: { initialized: boolean } } } | { type: \"singleURLs\", publishableChartKeys: Array })" + } + ], + "description": "({ activeField: (undefined | string), meta: { title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } } } & ({ type: \"tab\" } | { type: \"dashboard\", layout: (\"vertical\" | \"tall\") } | { type: \"dashboard\", layout: \"canvas\", layouts: { [K in string]: Array<{ w: number, h: number, x: number, y: number, i: string, resizeHandles: (Array<\"s\" | \"w\" | \"e\" | \"n\" | \"sw\" | \"nw\" | \"se\" | \"ne\"> | undefined) }> }, layoutsMetadata: { [K in string]: { initialized: boolean } } } | { type: \"singleURLs\", publishableChartKeys: Array }))" + }, + "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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, activeField: (string | undefined) } & ComboLineColumnConfig)))>", + "items": { + "anyOf": [ + { + "anyOf": [ + { + "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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "AreaConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, 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<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>) }", + "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": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>", + "properties": { + "imputationType": { + "anyOf": [ + { + "const": "none", + "description": "\"none\"" + }, + { + "const": "zeros", + "description": "\"zeros\"" + }, + { + "const": "linear", + "description": "\"linear\"" + } + ], + "description": "(\"none\" | \"zeros\" | \"linear\")" + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }>", + "properties": { + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + } + } + } + ], + "description": "({ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ imputationType: (\"none\" | \"zeros\" | \"linear\") }>) } & Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ColumnConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, 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<{ showStandardError: boolean, showConfidenceInterval: boolean }>) }", + "properties": { + "x": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + }, + "y": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>", + "properties": { + "showStandardError": { + "type": "boolean", + "description": "boolean" + }, + "showConfidenceInterval": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") }), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", + "properties": { + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + }, + { + "type": "object", + "description": "{ type: (\"stacked\" | \"grouped\") }", + "properties": { + "type": { + "anyOf": [ + { + "const": "stacked", + "description": "\"stacked\"" + }, + { + "const": "grouped", + "description": "\"grouped\"" + } + ], + "description": "(\"stacked\" | \"grouped\")" + } + }, + "required": [ + "type" + ] + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") })" + }, + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + } + ], + "description": "({ x: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>) } & Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") }), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "BarConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, 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<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }", + "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": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") }), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", + "properties": { + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + }, + { + "type": "object", + "description": "{ type: (\"stacked\" | \"grouped\") }", + "properties": { + "type": { + "anyOf": [ + { + "const": "stacked", + "description": "\"stacked\"" + }, + { + "const": "grouped", + "description": "\"grouped\"" + } + ], + "description": "(\"stacked\" | \"grouped\")" + } + }, + "required": [ + "type" + ] + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") })" + }, + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + } + ], + "description": "({ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) } & Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }> & { type: (\"stacked\" | \"grouped\") }), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "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 }, 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": { + "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" + ] + }, + "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 }, 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<{ showStandardError: boolean, showConfidenceInterval: boolean }>) }", + "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": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>", + "properties": { + "showStandardError": { + "type": "boolean", + "description": "boolean" + }, + "showConfidenceInterval": { + "type": "boolean", + "description": "boolean" + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }>", + "properties": { + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + } + } + } + ], + "description": "({ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & Partial<{ showStandardError: boolean, showConfidenceInterval: boolean }>) } & Partial<{ segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "MapConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + }, + "fields": { + "type": "object", + "description": "Partial<{ areaLayer: { componentId: string, color: (({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ 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, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ 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 }) }>", + "properties": { + "areaLayer": { + "type": "object", + "description": "{ componentId: string, color: (({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })) }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "color": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "type": { + "const": "categorical", + "description": "\"categorical\"" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "type", + "componentId", + "palette", + "colorMapping" + ] + }, + { + "type": "object", + "description": "Partial<{ useAbbreviations: boolean }>", + "properties": { + "useAbbreviations": { + "type": "boolean", + "description": "boolean" + } + } + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number })" + }, + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) }", + "properties": { + "type": { + "const": "numerical", + "description": "\"numerical\"" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "palette": { + "anyOf": [ + { + "anyOf": [ + { + "const": "BrBG", + "description": "\"BrBG\"" + }, + { + "const": "PiYG", + "description": "\"PiYG\"" + }, + { + "const": "PRGn", + "description": "\"PRGn\"" + }, + { + "const": "PuOr", + "description": "\"PuOr\"" + }, + { + "const": "RdBu", + "description": "\"RdBu\"" + }, + { + "const": "RdYlBu", + "description": "\"RdYlBu\"" + }, + { + "const": "RdYlGn", + "description": "\"RdYlGn\"" + } + ], + "description": "(\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\")" + }, + { + "anyOf": [ + { + "const": "blues", + "description": "\"blues\"" + }, + { + "const": "greens", + "description": "\"greens\"" + }, + { + "const": "greys", + "description": "\"greys\"" + }, + { + "const": "oranges", + "description": "\"oranges\"" + }, + { + "const": "purples", + "description": "\"purples\"" + }, + { + "const": "reds", + "description": "\"reds\"" + } + ], + "description": "(\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")" + } + ], + "description": "((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\"))" + } + }, + "required": [ + "type", + "componentId", + "palette" + ] + }, + { + "anyOf": [ + { + "type": "object", + "description": "{ scaleType: \"continuous\", interpolationType: \"linear\" }", + "properties": { + "scaleType": { + "const": "continuous", + "description": "\"continuous\"" + }, + "interpolationType": { + "const": "linear", + "description": "\"linear\"" + } + }, + "required": [ + "scaleType", + "interpolationType" + ] + }, + { + "type": "object", + "description": "{ scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }", + "properties": { + "scaleType": { + "const": "discrete", + "description": "\"discrete\"" + }, + "interpolationType": { + "anyOf": [ + { + "const": "quantize", + "description": "\"quantize\"" + }, + { + "const": "quantile", + "description": "\"quantile\"" + }, + { + "const": "jenks", + "description": "\"jenks\"" + } + ], + "description": "(\"quantize\" | \"quantile\" | \"jenks\")" + }, + "nbClass": { + "type": "number", + "description": "number" + } + }, + "required": [ + "scaleType", + "interpolationType", + "nbClass" + ] + } + ], + "description": "({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number })" + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })" + } + ], + "description": "(({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number }))" + } + }, + "required": [ + "componentId", + "color" + ] + }, + "symbolLayer": { + "type": "object", + "description": "{ componentId: string, measureId: string, color: (({ type: \"fixed\", value: string } & { opacity: number }) | ({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })) }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "measureId": { + "type": "string", + "description": "string" + }, + "color": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"fixed\", value: string }", + "properties": { + "type": { + "const": "fixed", + "description": "\"fixed\"" + }, + "value": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"fixed\", value: string } & { opacity: number })" + }, + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "type": { + "const": "categorical", + "description": "\"categorical\"" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "type", + "componentId", + "palette", + "colorMapping" + ] + }, + { + "type": "object", + "description": "Partial<{ useAbbreviations: boolean }>", + "properties": { + "useAbbreviations": { + "type": "boolean", + "description": "boolean" + } + } + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number })" + }, + { + "allOf": [ + { + "type": "object", + "description": "{ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) }", + "properties": { + "type": { + "const": "numerical", + "description": "\"numerical\"" + }, + "componentId": { + "type": "string", + "description": "string" + }, + "palette": { + "anyOf": [ + { + "anyOf": [ + { + "const": "BrBG", + "description": "\"BrBG\"" + }, + { + "const": "PiYG", + "description": "\"PiYG\"" + }, + { + "const": "PRGn", + "description": "\"PRGn\"" + }, + { + "const": "PuOr", + "description": "\"PuOr\"" + }, + { + "const": "RdBu", + "description": "\"RdBu\"" + }, + { + "const": "RdYlBu", + "description": "\"RdYlBu\"" + }, + { + "const": "RdYlGn", + "description": "\"RdYlGn\"" + } + ], + "description": "(\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\")" + }, + { + "anyOf": [ + { + "const": "blues", + "description": "\"blues\"" + }, + { + "const": "greens", + "description": "\"greens\"" + }, + { + "const": "greys", + "description": "\"greys\"" + }, + { + "const": "oranges", + "description": "\"oranges\"" + }, + { + "const": "purples", + "description": "\"purples\"" + }, + { + "const": "reds", + "description": "\"reds\"" + } + ], + "description": "(\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")" + } + ], + "description": "((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\"))" + } + }, + "required": [ + "type", + "componentId", + "palette" + ] + }, + { + "anyOf": [ + { + "type": "object", + "description": "{ scaleType: \"continuous\", interpolationType: \"linear\" }", + "properties": { + "scaleType": { + "const": "continuous", + "description": "\"continuous\"" + }, + "interpolationType": { + "const": "linear", + "description": "\"linear\"" + } + }, + "required": [ + "scaleType", + "interpolationType" + ] + }, + { + "type": "object", + "description": "{ scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }", + "properties": { + "scaleType": { + "const": "discrete", + "description": "\"discrete\"" + }, + "interpolationType": { + "anyOf": [ + { + "const": "quantize", + "description": "\"quantize\"" + }, + { + "const": "quantile", + "description": "\"quantile\"" + }, + { + "const": "jenks", + "description": "\"jenks\"" + } + ], + "description": "(\"quantize\" | \"quantile\" | \"jenks\")" + }, + "nbClass": { + "type": "number", + "description": "number" + } + }, + "required": [ + "scaleType", + "interpolationType", + "nbClass" + ] + } + ], + "description": "({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number })" + }, + { + "type": "object", + "description": "{ opacity: number }", + "properties": { + "opacity": { + "type": "number", + "description": "number" + } + }, + "required": [ + "opacity" + ] + } + ], + "description": "({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number })" + } + ], + "description": "(({ type: \"fixed\", value: string } & { opacity: number }) | ({ type: \"categorical\", componentId: string, palette: string, colorMapping: { [K in string]: string } } & Partial<{ useAbbreviations: boolean }> & { opacity: number }) | ({ type: \"numerical\", componentId: string, palette: ((\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") | (\"blues\" | \"greens\" | \"greys\" | \"oranges\" | \"purples\" | \"reds\")) } & ({ scaleType: \"continuous\", interpolationType: \"linear\" } | { scaleType: \"discrete\", interpolationType: (\"quantize\" | \"quantile\" | \"jenks\"), nbClass: number }) & { opacity: number }))" + } + }, + "required": [ + "componentId", + "measureId", + "color" + ] + }, + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + }, + "baseLayer": { + "type": "object", + "description": "{ show: boolean, locked: boolean, bbox: ([[number, number], [number, number]] | undefined) }", + "properties": { + "show": { + "type": "boolean", + "description": "boolean" + }, + "locked": { + "type": "boolean", + "description": "boolean" + }, + "bbox": { + "anyOf": [ + { + "type": "array", + "description": "[[number, number], [number, number]]", + "items": [ + { + "type": "array", + "description": "[number, number]", + "items": [ + { + "type": "number", + "description": "number" + }, + { + "type": "number", + "description": "number" + } + ], + "minItems": 2, + "maxItems": 2 + }, + { + "type": "array", + "description": "[number, number]", + "items": [ + { + "type": "number", + "description": "number" + }, + { + "type": "number", + "description": "number" + } + ], + "minItems": 2, + "maxItems": 2 + } + ], + "minItems": 2, + "maxItems": 2 + }, + {} + ], + "description": "([[number, number], [number, number]] | undefined)" + } + }, + "required": [ + "show", + "locked", + "bbox" + ] + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + }, + "fields": { + "allOf": [ + { + "type": "object", + "description": "{ y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) }", + "properties": { + "y": { + "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 }>)" + }, + "segment": { + "allOf": [ + { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + { + "type": "object", + "description": "Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>", + "properties": { + "sorting": { + "type": "object", + "description": "{ sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "sortingType": { + "anyOf": [ + { + "const": "byDimensionLabel", + "description": "\"byDimensionLabel\"" + }, + { + "const": "byMeasure", + "description": "\"byMeasure\"" + }, + { + "const": "byTotalSize", + "description": "\"byTotalSize\"" + }, + { + "const": "byAuto", + "description": "\"byAuto\"" + } + ], + "description": "(\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\")" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "sortingType", + "sortingOrder" + ] + } + } + } + ], + "description": "((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>)" + } + }, + "required": [ + "y", + "segment" + ] + }, + { + "type": "object", + "description": "Partial<{ animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", + "properties": { + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + } + ], + "description": "({ y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), segment: ((({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>) & Partial<{ sorting: { sortingType: (\"byDimensionLabel\" | \"byMeasure\" | \"byTotalSize\" | \"byAuto\"), sortingOrder: (\"asc\" | \"desc\") } }>) } & Partial<{ animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ScatterPlotConfig", + "properties": { + "chartType": { + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + }, + "fields": { + "allOf": [ + { + "type": "object", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>) }", + "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": { + "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 }>)" + } + }, + "required": [ + "x", + "y" + ] + }, + { + "type": "object", + "description": "Partial<{ segment: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>", + "properties": { + "segment": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ palette: string }", + "properties": { + "palette": { + "type": "string", + "description": "string" + } + }, + "required": [ + "palette" + ] + }, + { + "type": "object", + "description": "Partial<{ colorMapping: { [K in string]: string } }>", + "properties": { + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + } + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>)" + }, + "animation": { + "allOf": [ + { + "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 }>)" + }, + { + "type": "object", + "description": "{ showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }", + "properties": { + "showPlayButton": { + "type": "boolean", + "description": "boolean" + }, + "type": { + "anyOf": [ + { + "const": "continuous", + "description": "\"continuous\"" + }, + { + "const": "stepped", + "description": "\"stepped\"" + } + ], + "description": "(\"continuous\" | \"stepped\")" + }, + "duration": { + "type": "number", + "description": "number" + }, + "dynamicScales": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showPlayButton", + "type", + "duration", + "dynamicScales" + ] + } + ], + "description": "(({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean })" + } + } + } + ], + "description": "({ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>) } & Partial<{ segment: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { palette: string } & Partial<{ colorMapping: { [K in string]: string } }>), animation: (({ componentId: string } & Partial<{ useAbbreviations: boolean }>) & { showPlayButton: boolean, type: (\"continuous\" | \"stepped\"), duration: number, dynamicScales: boolean }) }>)" + } + }, + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "TableConfig", + "properties": { + "chartType": { + "const": "table", + "description": "\"table\"" + }, + "fields": { + "type": "object", + "description": "{ [K in string]: { componentId: string, componentType: ((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\")), index: number, isGroup: boolean, isHidden: boolean, columnStyle: ({ type: \"text\", textStyle: (\"regular\" | \"bold\"), textColor: string, columnColor: string } | { type: \"category\", textStyle: (\"regular\" | \"bold\"), palette: string, colorMapping: { [K in string]: string } } | { type: \"heatmap\", textStyle: (\"regular\" | \"bold\"), palette: (\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") } | { type: \"bar\", textStyle: (\"regular\" | \"bold\"), barColorPositive: string, barColorNegative: string, barColorBackground: string, barShowBackground: boolean }) } }", + "additionalProperties": { + "type": "object", + "description": "{ componentId: string, componentType: ((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\")), index: number, isGroup: boolean, isHidden: boolean, columnStyle: ({ type: \"text\", textStyle: (\"regular\" | \"bold\"), textColor: string, columnColor: string } | { type: \"category\", textStyle: (\"regular\" | \"bold\"), palette: string, colorMapping: { [K in string]: string } } | { type: \"heatmap\", textStyle: (\"regular\" | \"bold\"), palette: (\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") } | { type: \"bar\", textStyle: (\"regular\" | \"bold\"), barColorPositive: string, barColorNegative: string, barColorBackground: string, barShowBackground: boolean }) }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "componentType": { + "anyOf": [ + { + "anyOf": [ + { + "const": "NominalDimension", + "description": "\"NominalDimension\"" + }, + { + "const": "OrdinalDimension", + "description": "\"OrdinalDimension\"" + }, + { + "const": "TemporalDimension", + "description": "\"TemporalDimension\"" + }, + { + "const": "TemporalEntityDimension", + "description": "\"TemporalEntityDimension\"" + }, + { + "const": "TemporalOrdinalDimension", + "description": "\"TemporalOrdinalDimension\"" + }, + { + "const": "GeoCoordinatesDimension", + "description": "\"GeoCoordinatesDimension\"" + }, + { + "const": "GeoShapesDimension", + "description": "\"GeoShapesDimension\"" + }, + { + "const": "StandardErrorDimension", + "description": "\"StandardErrorDimension\"" + }, + { + "const": "ConfidenceUpperBoundDimension", + "description": "\"ConfidenceUpperBoundDimension\"" + }, + { + "const": "ConfidenceLowerBoundDimension", + "description": "\"ConfidenceLowerBoundDimension\"" + } + ], + "description": "(\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\")" + }, + { + "anyOf": [ + { + "const": "NumericalMeasure", + "description": "\"NumericalMeasure\"" + }, + { + "const": "OrdinalMeasure", + "description": "\"OrdinalMeasure\"" + } + ], + "description": "(\"NumericalMeasure\" | \"OrdinalMeasure\")" + } + ], + "description": "((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\"))" + }, + "index": { + "type": "number", + "description": "number" + }, + "isGroup": { + "type": "boolean", + "description": "boolean" + }, + "isHidden": { + "type": "boolean", + "description": "boolean" + }, + "columnStyle": { + "anyOf": [ + { + "type": "object", + "description": "{ type: \"text\", textStyle: (\"regular\" | \"bold\"), textColor: string, columnColor: string }", + "properties": { + "type": { + "const": "text", + "description": "\"text\"" + }, + "textStyle": { + "anyOf": [ + { + "const": "regular", + "description": "\"regular\"" + }, + { + "const": "bold", + "description": "\"bold\"" + } + ], + "description": "(\"regular\" | \"bold\")" + }, + "textColor": { + "type": "string", + "description": "string" + }, + "columnColor": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "textStyle", + "textColor", + "columnColor" + ] + }, + { + "type": "object", + "description": "{ type: \"category\", textStyle: (\"regular\" | \"bold\"), palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "type": { + "const": "category", + "description": "\"category\"" + }, + "textStyle": { + "anyOf": [ + { + "const": "regular", + "description": "\"regular\"" + }, + { + "const": "bold", + "description": "\"bold\"" + } + ], + "description": "(\"regular\" | \"bold\")" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "type", + "textStyle", + "palette", + "colorMapping" + ] + }, + { + "type": "object", + "description": "{ type: \"heatmap\", textStyle: (\"regular\" | \"bold\"), palette: (\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") }", + "properties": { + "type": { + "const": "heatmap", + "description": "\"heatmap\"" + }, + "textStyle": { + "anyOf": [ + { + "const": "regular", + "description": "\"regular\"" + }, + { + "const": "bold", + "description": "\"bold\"" + } + ], + "description": "(\"regular\" | \"bold\")" + }, + "palette": { + "anyOf": [ + { + "const": "BrBG", + "description": "\"BrBG\"" + }, + { + "const": "PiYG", + "description": "\"PiYG\"" + }, + { + "const": "PRGn", + "description": "\"PRGn\"" + }, + { + "const": "PuOr", + "description": "\"PuOr\"" + }, + { + "const": "RdBu", + "description": "\"RdBu\"" + }, + { + "const": "RdYlBu", + "description": "\"RdYlBu\"" + }, + { + "const": "RdYlGn", + "description": "\"RdYlGn\"" + } + ], + "description": "(\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\")" + } + }, + "required": [ + "type", + "textStyle", + "palette" + ] + }, + { + "type": "object", + "description": "{ type: \"bar\", textStyle: (\"regular\" | \"bold\"), barColorPositive: string, barColorNegative: string, barColorBackground: string, barShowBackground: boolean }", + "properties": { + "type": { + "const": "bar", + "description": "\"bar\"" + }, + "textStyle": { + "anyOf": [ + { + "const": "regular", + "description": "\"regular\"" + }, + { + "const": "bold", + "description": "\"bold\"" + } + ], + "description": "(\"regular\" | \"bold\")" + }, + "barColorPositive": { + "type": "string", + "description": "string" + }, + "barColorNegative": { + "type": "string", + "description": "string" + }, + "barColorBackground": { + "type": "string", + "description": "string" + }, + "barShowBackground": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "type", + "textStyle", + "barColorPositive", + "barColorNegative", + "barColorBackground", + "barShowBackground" + ] + } + ], + "description": "({ type: \"text\", textStyle: (\"regular\" | \"bold\"), textColor: string, columnColor: string } | { type: \"category\", textStyle: (\"regular\" | \"bold\"), palette: string, colorMapping: { [K in string]: string } } | { type: \"heatmap\", textStyle: (\"regular\" | \"bold\"), palette: (\"BrBG\" | \"PiYG\" | \"PRGn\" | \"PuOr\" | \"RdBu\" | \"RdYlBu\" | \"RdYlGn\") } | { type: \"bar\", textStyle: (\"regular\" | \"bold\"), barColorPositive: string, barColorNegative: string, barColorBackground: string, barShowBackground: boolean })" + } + }, + "required": [ + "componentId", + "componentType", + "index", + "isGroup", + "isHidden", + "columnStyle" + ] + } + }, + "settings": { + "type": "object", + "description": "{ showSearch: boolean, showAllRows: boolean }", + "properties": { + "showSearch": { + "type": "boolean", + "description": "boolean" + }, + "showAllRows": { + "type": "boolean", + "description": "boolean" + } + }, + "required": [ + "showSearch", + "showAllRows" + ] + }, + "sorting": { + "type": "array", + "description": "Array<{ componentId: string, componentType: ((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\")), sortingOrder: (\"asc\" | \"desc\") }>", + "items": { + "type": "object", + "description": "{ componentId: string, componentType: ((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\")), sortingOrder: (\"asc\" | \"desc\") }", + "properties": { + "componentId": { + "type": "string", + "description": "string" + }, + "componentType": { + "anyOf": [ + { + "anyOf": [ + { + "const": "NominalDimension", + "description": "\"NominalDimension\"" + }, + { + "const": "OrdinalDimension", + "description": "\"OrdinalDimension\"" + }, + { + "const": "TemporalDimension", + "description": "\"TemporalDimension\"" + }, + { + "const": "TemporalEntityDimension", + "description": "\"TemporalEntityDimension\"" + }, + { + "const": "TemporalOrdinalDimension", + "description": "\"TemporalOrdinalDimension\"" + }, + { + "const": "GeoCoordinatesDimension", + "description": "\"GeoCoordinatesDimension\"" + }, + { + "const": "GeoShapesDimension", + "description": "\"GeoShapesDimension\"" + }, + { + "const": "StandardErrorDimension", + "description": "\"StandardErrorDimension\"" + }, + { + "const": "ConfidenceUpperBoundDimension", + "description": "\"ConfidenceUpperBoundDimension\"" + }, + { + "const": "ConfidenceLowerBoundDimension", + "description": "\"ConfidenceLowerBoundDimension\"" + } + ], + "description": "(\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\")" + }, + { + "anyOf": [ + { + "const": "NumericalMeasure", + "description": "\"NumericalMeasure\"" + }, + { + "const": "OrdinalMeasure", + "description": "\"OrdinalMeasure\"" + } + ], + "description": "(\"NumericalMeasure\" | \"OrdinalMeasure\")" + } + ], + "description": "((\"NominalDimension\" | \"OrdinalDimension\" | \"TemporalDimension\" | \"TemporalEntityDimension\" | \"TemporalOrdinalDimension\" | \"GeoCoordinatesDimension\" | \"GeoShapesDimension\" | \"StandardErrorDimension\" | \"ConfidenceUpperBoundDimension\" | \"ConfidenceLowerBoundDimension\") | (\"NumericalMeasure\" | \"OrdinalMeasure\"))" + }, + "sortingOrder": { + "anyOf": [ + { + "const": "asc", + "description": "\"asc\"" + }, + { + "const": "desc", + "description": "\"desc\"" + } + ], + "description": "(\"asc\" | \"desc\")" + } + }, + "required": [ + "componentId", + "componentType", + "sortingOrder" + ] + } + }, + "interactiveFiltersConfig": {} + }, + "required": [ + "chartType", + "fields", + "settings", + "sorting", + "interactiveFiltersConfig" + ] + } + ], + "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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, activeField: (string | undefined) } & TableConfig))" + }, + { + "anyOf": [ + { + "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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ComboLineSingleConfig", + "properties": { + "chartType": { + "const": "comboLineSingle", + "description": "\"comboLineSingle\"" + }, + "fields": { + "type": "object", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: { componentIds: Array, palette: string, colorMapping: { [K in string]: 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": { + "type": "object", + "description": "{ componentIds: Array, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "componentIds", + "palette", + "colorMapping" + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + } + }, + "required": [ + "chartType", + "fields", + "interactiveFiltersConfig" + ] + } + ], + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ComboLineDualConfig", + "properties": { + "chartType": { + "const": "comboLineDual", + "description": "\"comboLineDual\"" + }, + "fields": { + "type": "object", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: { leftAxisComponentId: string, rightAxisComponentId: string, palette: string, colorMapping: { [K in string]: 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": { + "type": "object", + "description": "{ leftAxisComponentId: string, rightAxisComponentId: string, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "leftAxisComponentId": { + "type": "string", + "description": "string" + }, + "rightAxisComponentId": { + "type": "string", + "description": "string" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "leftAxisComponentId", + "rightAxisComponentId", + "palette", + "colorMapping" + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + } + }, + "required": [ + "chartType", + "fields", + "interactiveFiltersConfig" + ] + } + ], + "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 }>)>, 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 }>)>, activeField: (string | undefined) }", + "properties": { + "key": { + "type": "string", + "description": "string" + }, + "version": { + "type": "string", + "description": "string" + }, + "meta": { + "type": "object", + "description": "{ title: { de: string, fr: string, it: string, en: string }, description: { de: string, fr: string, it: string, en: string }, label: { de: string, fr: string, it: string, en: string } }", + "properties": { + "title": { + "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" + ] + }, + "description": { + "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" + ] + }, + "label": { + "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": [ + "title", + "description", + "label" + ] + }, + "cubes": { + "type": "array", + "description": "Array<({ iri: string, filters: Filters } & Partial<{ joinBy: Array }>)>", + "items": { + "allOf": [ + { + "type": "object", + "description": "{ iri: string, filters: Filters }", + "properties": { + "iri": { + "type": "string", + "description": "string" + }, + "filters": { + "type": "object", + "description": "Filters", + "additionalProperties": { + "anyOf": [ + { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueMulti", + "properties": { + "type": { + "const": "multi", + "description": "\"multi\"" + }, + "values": { + "type": "object", + "description": "{ [K in string]: true }", + "additionalProperties": { + "const": true, + "description": "true" + } + } + }, + "required": [ + "type", + "values" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueMulti & Partial<{ position: number }>)" + }, + { + "allOf": [ + { + "type": "object", + "description": "FilterValueRange", + "properties": { + "type": { + "const": "range", + "description": "\"range\"" + }, + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "type", + "from", + "to" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueRange & Partial<{ position: number }>)" + } + ], + "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 }>)" + } + }, + "activeField": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + {} + ], + "description": "(string | undefined)" + } + }, + "required": [ + "key", + "version", + "meta", + "cubes", + "activeField" + ] + }, + { + "type": "object", + "description": "ComboLineColumnConfig", + "properties": { + "chartType": { + "const": "comboLineColumn", + "description": "\"comboLineColumn\"" + }, + "fields": { + "type": "object", + "description": "{ x: ({ componentId: string } & Partial<{ useAbbreviations: boolean }>), y: { lineComponentId: string, lineAxisOrientation: (\"left\" | \"right\"), columnComponentId: string, palette: string, colorMapping: { [K in string]: 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": { + "type": "object", + "description": "{ lineComponentId: string, lineAxisOrientation: (\"left\" | \"right\"), columnComponentId: string, palette: string, colorMapping: { [K in string]: string } }", + "properties": { + "lineComponentId": { + "type": "string", + "description": "string" + }, + "lineAxisOrientation": { + "anyOf": [ + { + "const": "left", + "description": "\"left\"" + }, + { + "const": "right", + "description": "\"right\"" + } + ], + "description": "(\"left\" | \"right\")" + }, + "columnComponentId": { + "type": "string", + "description": "string" + }, + "palette": { + "type": "string", + "description": "string" + }, + "colorMapping": { + "type": "object", + "description": "{ [K in string]: string }", + "additionalProperties": { + "type": "string", + "description": "string" + } + } + }, + "required": [ + "lineComponentId", + "lineAxisOrientation", + "columnComponentId", + "palette", + "colorMapping" + ] + } + }, + "required": [ + "x", + "y" + ] + }, + "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 }, 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": { + "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" + ] + }, + "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 }, calculation: { active: boolean, type: (\"identity\" | \"percent\") } } | undefined)" + } + }, + "required": [ + "chartType", + "fields", + "interactiveFiltersConfig" + ] + } + ], + "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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, 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 }>)>, activeField: (string | undefined) } & ComboLineColumnConfig)))" + } + }, + "activeChartKey": { + "type": "string", + "description": "string" + }, + "dashboardFilters": { + "anyOf": [ + { + "type": "object", + "description": "{ timeRange: { active: boolean, timeUnit: string, presets: { from: string, to: string } }, dataFilters: { componentIds: Array, filters: SingleFilters } }", + "properties": { + "timeRange": { + "type": "object", + "description": "{ active: boolean, timeUnit: string, presets: { from: string, to: string } }", + "properties": { + "active": { + "type": "boolean", + "description": "boolean" + }, + "timeUnit": { + "type": "string", + "description": "string" + }, + "presets": { + "type": "object", + "description": "{ from: string, to: string }", + "properties": { + "from": { + "type": "string", + "description": "string" + }, + "to": { + "type": "string", + "description": "string" + } + }, + "required": [ + "from", + "to" + ] + } + }, + "required": [ + "active", + "timeUnit", + "presets" + ] + }, + "dataFilters": { + "type": "object", + "description": "{ componentIds: Array, filters: SingleFilters }", + "properties": { + "componentIds": { + "type": "array", + "description": "Array", + "items": { + "type": "string", + "description": "string" + } + }, + "filters": { + "type": "object", + "description": "SingleFilters", + "additionalProperties": { + "allOf": [ + { + "type": "object", + "description": "FilterValueSingle", + "properties": { + "type": { + "const": "single", + "description": "\"single\"" + }, + "value": { + "anyOf": [ + { + "type": "string", + "description": "string" + }, + { + "type": "number", + "description": "number" + } + ], + "description": "(string | number)" + } + }, + "required": [ + "type", + "value" + ] + }, + { + "type": "object", + "description": "Partial<{ position: number }>", + "properties": { + "position": { + "type": "number", + "description": "number" + } + } + } + ], + "description": "(FilterValueSingle & Partial<{ position: number }>)" + } + } + }, + "required": [ + "componentIds", + "filters" + ] + } + }, + "required": [ + "timeRange", + "dataFilters" + ] + }, + {} + ], + "description": "({ timeRange: { active: boolean, timeUnit: string, presets: { from: string, to: string } }, dataFilters: { componentIds: Array, filters: SingleFilters } } | undefined)" + } + }, + "required": [ + "version", + "dataSource", + "layout", + "chartConfigs", + "activeChartKey", + "dashboardFilters" + ] + }, + { + "type": "object", + "description": "Partial<{ key: string }>", + "properties": { + "key": { + "type": "string", + "description": "string" + } + } + } + ], + "description": "(Config & Partial<{ key: string }>)" + } + ], + "description": "({ state: \"PUBLISHED\" } & (Config & Partial<{ key: string }>))" + } + ], + "description": "({ state: \"INITIAL\", version: string, dataSource: { type: (\"sql\" | \"sparql\"), url: string } } | { state: \"SELECTING_DATASET\", version: string, dataSource: { type: (\"sql\" | \"sparql\"), url: string }, chartConfigs: undefined, layout: undefined, activeChartKey: undefined } | ({ state: \"CONFIGURING_CHART\" } & (Config & Partial<{ key: string }>)) | ({ state: \"LAYOUTING\" } & (Config & Partial<{ key: string }>)) | ({ state: \"PUBLISHING\" } & (Config & Partial<{ key: string }>)) | ({ state: \"PUBLISHED\" } & (Config & Partial<{ key: string }>)))" + } + } +} \ No newline at end of file From 465cb005fad09ac759372d7dc442bb2d6388c4b7 Mon Sep 17 00:00:00 2001 From: Bartosz Prusinowski Date: Tue, 7 Jan 2025 10:08:49 +0100 Subject: [PATCH 06/12] feat: Add example JSON files adhering to JSON Schemas --- .../json-schema/example-chart-config.json | 21 +++++++++++++++++++ .../example-configurator-state.json | 12 +++++++++++ 2 files changed, 33 insertions(+) create mode 100644 app/public/json-schema/example-chart-config.json create mode 100644 app/public/json-schema/example-configurator-state.json diff --git a/app/public/json-schema/example-chart-config.json b/app/public/json-schema/example-chart-config.json new file mode 100644 index 000000000..bf6197d1c --- /dev/null +++ b/app/public/json-schema/example-chart-config.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://visualize.admin.ch/json-schema/chart-config.json", + "type": "object", + "schema": { + "key": "", + "version": "", + "chartType": "pie", + "meta": { + "title": { "de": "", "en": "", "fr": "", "it": "" }, + "description": { "de": "", "en": "", "fr": "", "it": "" }, + "label": { "de": "", "en": "", "fr": "", "it": "" } + }, + "cubes": [], + "fields": { + "y": { "componentId": "" }, + "segment": { "componentId": "", "palette": "" } + }, + "interactiveFiltersConfig": {}, + "activeField": "" + } +} diff --git a/app/public/json-schema/example-configurator-state.json b/app/public/json-schema/example-configurator-state.json new file mode 100644 index 000000000..1a95e07bf --- /dev/null +++ b/app/public/json-schema/example-configurator-state.json @@ -0,0 +1,12 @@ +{ + "$schema": "https://visualize.admin.ch/json-schema/configurator-state.json", + "type": "object", + "schema": { + "state": "INITIAL", + "version": "", + "dataSource": { + "type": "sparql", + "url": "" + } + } +} From 25ff14d6abbf755325698488d9356f789dc97ca4 Mon Sep 17 00:00:00 2001 From: Bartosz Prusinowski Date: Tue, 7 Jan 2025 10:27:52 +0100 Subject: [PATCH 07/12] docs: Update spelling --- app/docs/catalog/chart-preview-via-api.mdx | 32 +++++++++++----------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/app/docs/catalog/chart-preview-via-api.mdx b/app/docs/catalog/chart-preview-via-api.mdx index 0a4ac1e93..f03f86e93 100644 --- a/app/docs/catalog/chart-preview-via-api.mdx +++ b/app/docs/catalog/chart-preview-via-api.mdx @@ -28,7 +28,7 @@ While usually you'll want to publish your chart, sometimes you might want to simply preview it, without going through the publishing process. This could be -especially helpful to programatically generate charts based on many different +especially helpful to programmatically generate charts based on many different configuration options. Visualize offers a way to preview charts without publishing them, by using a custom API. @@ -47,7 +47,7 @@ message with the chart state to the iframe window on load. iframe.onload = () => { const iframeWindow = iframe?.contentWindow; if (iframeWindow) { - iframeWindow.postMessage(chartState, "*"); + iframeWindow.postMessage(configuratorState, "*"); } }; `} @@ -55,8 +55,8 @@ iframe.onload = () => { ### Controlling the language -You can set the desired language for the chart preview by adding a /de, /fr, /it -or /en part to the iframe URL, like so: +You can set the desired language for the chart preview by adding a `/de`, `/fr`, +`/it` or `/en` part to the iframe URL, like so: ```html