From 6f713fc5b1b3b16026d717eacc29bf8476ae4e8f Mon Sep 17 00:00:00 2001 From: Bartosz Prusinowski Date: Thu, 19 Jan 2023 12:41:05 +0100 Subject: [PATCH 01/31] refactor: Time slider -> Animation --- .../interactive-filters-config-options.tsx | 6 ++---- .../interactive-filters-configurator.tsx | 4 ++-- app/locales/de/messages.po | 16 ++++++++-------- app/locales/en/messages.po | 16 ++++++++-------- app/locales/fr/messages.po | 16 ++++++++-------- app/locales/it/messages.po | 16 ++++++++-------- 6 files changed, 36 insertions(+), 38 deletions(-) diff --git a/app/configurator/interactive-filters/interactive-filters-config-options.tsx b/app/configurator/interactive-filters/interactive-filters-config-options.tsx index 8d4370707..9681a230d 100644 --- a/app/configurator/interactive-filters/interactive-filters-config-options.tsx +++ b/app/configurator/interactive-filters/interactive-filters-config-options.tsx @@ -2,7 +2,7 @@ import { t, Trans } from "@lingui/macro"; import { Box } from "@mui/material"; import { extent } from "d3"; import get from "lodash/get"; -import React, { useEffect, useMemo, useRef } from "react"; +import { useEffect, useMemo, useRef } from "react"; import { getFieldComponentIri } from "@/charts"; import { Checkbox, Select } from "@/components/form"; @@ -77,9 +77,7 @@ export const InteractiveFiltersOptions = ({ return ( - - Time slider - + Animation diff --git a/app/configurator/interactive-filters/interactive-filters-configurator.tsx b/app/configurator/interactive-filters/interactive-filters-configurator.tsx index a7f3c9e41..d2095fd68 100644 --- a/app/configurator/interactive-filters/interactive-filters-configurator.tsx +++ b/app/configurator/interactive-filters/interactive-filters-configurator.tsx @@ -113,8 +113,8 @@ export const InteractiveFiltersConfigurator = ({ value="timeSlider" icon="play" label={ - - Time slider + + Animation } /> diff --git a/app/locales/de/messages.po b/app/locales/de/messages.po index 0591ea437..d9ede71c3 100644 --- a/app/locales/de/messages.po +++ b/app/locales/de/messages.po @@ -376,14 +376,14 @@ msgstr "Nullen" #: app/configurator/interactive-filters/interactive-filters-config-options.tsx:80 #: app/configurator/interactive-filters/interactive-filters-configurator.tsx:116 -msgid "controls.interactive.filters.timeSlider" -msgstr "Zeitschieber" +msgid "controls.interactive.filters.animation" +msgstr "Animation" -#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:185 +#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:183 msgid "controls.interactiveFilters.time.noTimeDimension" msgstr "Keine Zeitdimension verfügbar!" -#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:160 +#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:158 msgid "controls.interactiveFilters.time.toggleTimeFilter" msgstr "Zeitfilter anzeigen" @@ -434,7 +434,7 @@ msgstr "Zurück zur Vorschau" #: app/configurator/components/field.tsx:703 #: app/configurator/components/field.tsx:875 -#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:244 +#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:242 msgid "controls.none" msgstr "Keine" @@ -450,7 +450,7 @@ msgstr "Aus" msgid "controls.scale.type" msgstr "Skalierungstyp" -#: app/components/form.tsx:611 +#: app/components/form.tsx:614 msgid "controls.search.clear" msgstr "Suche zurücksetzen" @@ -571,7 +571,7 @@ msgid "controls.select.columnStyle.textStyle" msgstr "Schriftstil" #: app/configurator/components/chart-options-selector.tsx:223 -#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:262 +#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:260 msgid "controls.select.dimension" msgstr "Dimension auswählen" @@ -881,7 +881,7 @@ msgstr "Daten-Ladefehler" msgid "hint.how.to.share" msgstr "Sie können diese Visualisierung teilen oder sie einbetten. Zudem können Sie eine neue Visualisierung erstellen oder die gezeigte Visualisierung kopieren." -#: app/components/form.tsx:282 +#: app/components/form.tsx:285 #: app/components/hint.tsx:111 msgid "hint.loading.data" msgstr "Lade Daten …" diff --git a/app/locales/en/messages.po b/app/locales/en/messages.po index 36ffa5e71..9116fd095 100644 --- a/app/locales/en/messages.po +++ b/app/locales/en/messages.po @@ -376,14 +376,14 @@ msgstr "Zeros" #: app/configurator/interactive-filters/interactive-filters-config-options.tsx:80 #: app/configurator/interactive-filters/interactive-filters-configurator.tsx:116 -msgid "controls.interactive.filters.timeSlider" -msgstr "Time slider" +msgid "controls.interactive.filters.animation" +msgstr "Animation" -#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:185 +#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:183 msgid "controls.interactiveFilters.time.noTimeDimension" msgstr "There is no time dimension!" -#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:160 +#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:158 msgid "controls.interactiveFilters.time.toggleTimeFilter" msgstr "Show time filter" @@ -434,7 +434,7 @@ msgstr "Back to preview" #: app/configurator/components/field.tsx:703 #: app/configurator/components/field.tsx:875 -#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:244 +#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:242 msgid "controls.none" msgstr "None" @@ -450,7 +450,7 @@ msgstr "Off" msgid "controls.scale.type" msgstr "Scale type" -#: app/components/form.tsx:611 +#: app/components/form.tsx:614 msgid "controls.search.clear" msgstr "Clear search field" @@ -571,7 +571,7 @@ msgid "controls.select.columnStyle.textStyle" msgstr "Text Style" #: app/configurator/components/chart-options-selector.tsx:223 -#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:262 +#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:260 msgid "controls.select.dimension" msgstr "Select a dimension" @@ -881,7 +881,7 @@ msgstr "Data loading error" msgid "hint.how.to.share" msgstr "You can share this visualization by copying the URL or by embedding it on your own website. You can also create a new visualization from scratch or start by copying the visualization above." -#: app/components/form.tsx:282 +#: app/components/form.tsx:285 #: app/components/hint.tsx:111 msgid "hint.loading.data" msgstr "Loading data..." diff --git a/app/locales/fr/messages.po b/app/locales/fr/messages.po index 0e1e9e623..c3d33f436 100644 --- a/app/locales/fr/messages.po +++ b/app/locales/fr/messages.po @@ -376,14 +376,14 @@ msgstr "Zéros" #: app/configurator/interactive-filters/interactive-filters-config-options.tsx:80 #: app/configurator/interactive-filters/interactive-filters-configurator.tsx:116 -msgid "controls.interactive.filters.timeSlider" -msgstr "Curseur temporel" +msgid "controls.interactive.filters.animation" +msgstr "Animation" -#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:185 +#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:183 msgid "controls.interactiveFilters.time.noTimeDimension" msgstr "Il n'y a pas de dimension temporelle!" -#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:160 +#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:158 msgid "controls.interactiveFilters.time.toggleTimeFilter" msgstr "Afficher le filtre temporel" @@ -434,7 +434,7 @@ msgstr "Retour à l'aperçu" #: app/configurator/components/field.tsx:703 #: app/configurator/components/field.tsx:875 -#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:244 +#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:242 msgid "controls.none" msgstr "Aucun" @@ -450,7 +450,7 @@ msgstr "Inactif" msgid "controls.scale.type" msgstr "Type d'échelle" -#: app/components/form.tsx:611 +#: app/components/form.tsx:614 msgid "controls.search.clear" msgstr "Effacer la recherche" @@ -571,7 +571,7 @@ msgid "controls.select.columnStyle.textStyle" msgstr "Style du texte" #: app/configurator/components/chart-options-selector.tsx:223 -#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:262 +#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:260 msgid "controls.select.dimension" msgstr "Sélectionner une dimension" @@ -881,7 +881,7 @@ msgstr "Problème de téléchargement des données" msgid "hint.how.to.share" msgstr "Vous pouvez partager cette visualisation en copiant l'URL ou en l'intégrant sur votre site Web. Vous pouvez également créer une toute nouvelle visualisation, ou bien copier et modifier la visualisation ci-dessus." -#: app/components/form.tsx:282 +#: app/components/form.tsx:285 #: app/components/hint.tsx:111 msgid "hint.loading.data" msgstr "Chargement des données..." diff --git a/app/locales/it/messages.po b/app/locales/it/messages.po index b7e606fdf..ebd80a306 100644 --- a/app/locales/it/messages.po +++ b/app/locales/it/messages.po @@ -376,14 +376,14 @@ msgstr "Zeri" #: app/configurator/interactive-filters/interactive-filters-config-options.tsx:80 #: app/configurator/interactive-filters/interactive-filters-configurator.tsx:116 -msgid "controls.interactive.filters.timeSlider" -msgstr "Cursore del tempo" +msgid "controls.interactive.filters.animation" +msgstr "Animazione" -#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:185 +#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:183 msgid "controls.interactiveFilters.time.noTimeDimension" msgstr "Nessuna dimensione temporale disponibile!" -#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:160 +#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:158 msgid "controls.interactiveFilters.time.toggleTimeFilter" msgstr "Mostra i filtri temporali" @@ -434,7 +434,7 @@ msgstr "Torna all'anteprima" #: app/configurator/components/field.tsx:703 #: app/configurator/components/field.tsx:875 -#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:244 +#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:242 msgid "controls.none" msgstr "Nessuno" @@ -450,7 +450,7 @@ msgstr "Inattivo" msgid "controls.scale.type" msgstr "Tipo di scala" -#: app/components/form.tsx:611 +#: app/components/form.tsx:614 msgid "controls.search.clear" msgstr "Cancella la ricerca" @@ -571,7 +571,7 @@ msgid "controls.select.columnStyle.textStyle" msgstr "Stile del testo" #: app/configurator/components/chart-options-selector.tsx:223 -#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:262 +#: app/configurator/interactive-filters/interactive-filters-config-options.tsx:260 msgid "controls.select.dimension" msgstr "Seleziona una dimensione" @@ -881,7 +881,7 @@ msgstr "Problema di caricamento dei dati" msgid "hint.how.to.share" msgstr "È possibile condividere questa visualizzazione copiando l'URL o incorporandola nel vostro sito Web. Puoi anche creare una nuova visualizzazione partendo da zero oppure copiando e modificando la visualizzazione sopra." -#: app/components/form.tsx:282 +#: app/components/form.tsx:285 #: app/components/hint.tsx:111 msgid "hint.loading.data" msgstr "Caricamento dei dati..." From 18e7343337f4cef00e3e227220e4a8991b814482 Mon Sep 17 00:00:00 2001 From: Bartosz Prusinowski Date: Thu, 19 Jan 2023 12:52:13 +0100 Subject: [PATCH 02/31] feat: Add Animation icon --- app/icons/components/IcAnimation.tsx | 22 ++++++++++++++++++++++ app/icons/components/index.tsx | 2 ++ app/icons/svg/ic_animation.svg | 8 ++++++++ 3 files changed, 32 insertions(+) create mode 100644 app/icons/components/IcAnimation.tsx create mode 100644 app/icons/svg/ic_animation.svg diff --git a/app/icons/components/IcAnimation.tsx b/app/icons/components/IcAnimation.tsx new file mode 100644 index 000000000..4280d640f --- /dev/null +++ b/app/icons/components/IcAnimation.tsx @@ -0,0 +1,22 @@ +import * as React from "react"; + +function SvgIcAnimation(props: React.SVGProps) { + return ( + + + + + + ); +} + +export default SvgIcAnimation; diff --git a/app/icons/components/index.tsx b/app/icons/components/index.tsx index 94efeaf55..1f7c10bc3 100644 --- a/app/icons/components/index.tsx +++ b/app/icons/components/index.tsx @@ -1,4 +1,5 @@ import { default as Add } from "@/icons/components/IcAdd"; +import { default as Animation } from "@/icons/components/IcAnimation"; import { default as AnnotationArea } from "@/icons/components/IcAnnotationArea"; import { default as App } from "@/icons/components/IcApp"; import { default as ArrowBottom } from "@/icons/components/IcArrowBottom"; @@ -136,6 +137,7 @@ import { default as ZoomIn } from "@/icons/components/IcZoomIn"; export const Icons = { add: Add, + animation: Animation, annotationArea: AnnotationArea, app: App, arrowBottom: ArrowBottom, diff --git a/app/icons/svg/ic_animation.svg b/app/icons/svg/ic_animation.svg new file mode 100644 index 000000000..82aac72f1 --- /dev/null +++ b/app/icons/svg/ic_animation.svg @@ -0,0 +1,8 @@ + + + + + From cc40a66c7fb412492db401ef0fb41cca386316bc Mon Sep 17 00:00:00 2001 From: Bartosz Prusinowski Date: Thu, 19 Jan 2023 12:53:44 +0100 Subject: [PATCH 03/31] feat: Use Animation icon for time slider --- app/configurator/components/ui-helpers.ts | 4 ++-- .../interactive-filters-config-options.tsx | 2 +- .../interactive-filters/interactive-filters-configurator.tsx | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/configurator/components/ui-helpers.ts b/app/configurator/components/ui-helpers.ts index bb435e5dd..875327df0 100644 --- a/app/configurator/components/ui-helpers.ts +++ b/app/configurator/components/ui-helpers.ts @@ -188,8 +188,8 @@ export const getIconName = (name: string): IconName => { return "tableColumnTimeHidden"; case "time": return "time"; - case "play": - return "play"; + case "animation": + return "animation"; default: return "table"; diff --git a/app/configurator/interactive-filters/interactive-filters-config-options.tsx b/app/configurator/interactive-filters/interactive-filters-config-options.tsx index 9681a230d..13a52b566 100644 --- a/app/configurator/interactive-filters/interactive-filters-config-options.tsx +++ b/app/configurator/interactive-filters/interactive-filters-config-options.tsx @@ -76,7 +76,7 @@ export const InteractiveFiltersOptions = ({ } else if (activeField === "timeSlider") { return ( - + Animation diff --git a/app/configurator/interactive-filters/interactive-filters-configurator.tsx b/app/configurator/interactive-filters/interactive-filters-configurator.tsx index d2095fd68..48b695901 100644 --- a/app/configurator/interactive-filters/interactive-filters-configurator.tsx +++ b/app/configurator/interactive-filters/interactive-filters-configurator.tsx @@ -111,7 +111,7 @@ export const InteractiveFiltersConfigurator = ({ {canFilterTimeSlider && ( Animation From 0f2b62b39b0f8556ca204f83461d5394aeb571fb Mon Sep 17 00:00:00 2001 From: Bartosz Prusinowski Date: Fri, 20 Jan 2023 13:36:44 +0100 Subject: [PATCH 04/31] refactor: Make label optional --- .../components/chart-options-selector.tsx | 9 ++------- app/configurator/components/field.tsx | 14 ++++++-------- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/app/configurator/components/chart-options-selector.tsx b/app/configurator/components/chart-options-selector.tsx index be5993bb2..41416dea5 100644 --- a/app/configurator/components/chart-options-selector.tsx +++ b/app/configurator/components/chart-options-selector.tsx @@ -219,14 +219,9 @@ const EncodingOptionsPanel = ({ const { measures, dimensions } = metaData; const panelRef = useRef(null); - const getFieldLabelHint = { + const fieldLabelHint: Partial> = { x: t({ id: "controls.select.dimension", message: "Select a dimension" }), y: t({ id: "controls.select.measure", message: "Select a measure" }), - // Empty strings for optional encodings. - baseLayer: "", - areaLayer: "", - symbolLayer: "", - segment: "", }; useEffect(() => { @@ -308,7 +303,7 @@ const EncodingOptionsPanel = ({ diff --git a/app/configurator/components/field.tsx b/app/configurator/components/field.tsx index 2cfd4fb95..f7b98f53a 100644 --- a/app/configurator/components/field.tsx +++ b/app/configurator/components/field.tsx @@ -36,19 +36,17 @@ import { getTimeIntervalWithProps, } from "@/configurator/components/ui-helpers"; import { + isMultiFilterFieldChecked, Option, useActiveFieldField, useChartFieldField, + useChartOptionBooleanField, useChartOptionRadioField, + useChartOptionSelectField, useChartOptionSliderField, useMetaField, - useSingleFilterField, -} from "@/configurator/config-form"; -import { - isMultiFilterFieldChecked, - useChartOptionBooleanField, - useChartOptionSelectField, useMultiFilterContext, + useSingleFilterField, useSingleFilterSelect, } from "@/configurator/config-form"; import { @@ -685,13 +683,13 @@ export const ColorPickerField = ({ }; export const ChartFieldField = ({ - label, + label = "", field, options, optional, disabled, }: { - label: string; + label?: string; field: string; options: Option[]; optional?: boolean; From 9b5562d289afbe6b60257bdf7fbf67db001a1b08 Mon Sep 17 00:00:00 2001 From: Bartosz Prusinowski Date: Fri, 20 Jan 2023 14:41:20 +0100 Subject: [PATCH 05/31] feat: Add animation field to types and migrations --- app/charts/chart-config-ui-options.ts | 12 +- app/configurator/components/field-i18n.ts | 12 ++ app/configurator/config-types.ts | 18 +- app/locales/de/messages.po | 160 +++++++++--------- app/locales/en/messages.po | 160 +++++++++--------- app/locales/fr/messages.po | 160 +++++++++--------- app/locales/it/messages.po | 160 +++++++++--------- .../int/bathing-water-quality-hierarchie.json | 2 +- app/test/__fixtures/config/prod/line-1.json | 2 +- app/utils/chart-config/versioning.ts | 30 +++- 10 files changed, 395 insertions(+), 321 deletions(-) diff --git a/app/charts/chart-config-ui-options.ts b/app/charts/chart-config-ui-options.ts index 5643854d9..290518f02 100644 --- a/app/charts/chart-config-ui-options.ts +++ b/app/charts/chart-config-ui-options.ts @@ -10,9 +10,13 @@ import { * Related to config-types.ts. */ +type BaseEncodingFieldType = "animation"; type MapEncodingFieldType = "baseLayer" | "areaLayer" | "symbolLayer"; type XYEncodingFieldType = "x" | "y" | "segment"; -export type EncodingFieldType = MapEncodingFieldType | XYEncodingFieldType; +export type EncodingFieldType = + | BaseEncodingFieldType + | MapEncodingFieldType + | XYEncodingFieldType; export type EncodingOption = | { field: "chartSubType" } @@ -168,6 +172,12 @@ export const chartConfigOptionsUISpec: ChartSpecs = { { field: "useAbbreviations" }, ], }, + { + field: "animation", + optional: true, + componentTypes: ["TemporalDimension"], + filters: true, + }, ], interactiveFilters: ["legend", "timeRange"], }, diff --git a/app/configurator/components/field-i18n.ts b/app/configurator/components/field-i18n.ts index c77264970..7c5d20152 100644 --- a/app/configurator/components/field-i18n.ts +++ b/app/configurator/components/field-i18n.ts @@ -14,6 +14,10 @@ const fieldLabels = { id: "controls.axis.vertical", message: "Vertical axis", }), + "controls.animation": defineMessage({ + id: "controls.animation", + message: "Animation", + }), "controls.color": defineMessage({ id: "controls.color", message: "Color" }), "controls.title": defineMessage({ id: "controls.title", message: "Title" }), "controls.description": defineMessage({ @@ -174,6 +178,14 @@ export function getFieldLabel(field: string): string { case "bar.y": case "y": return i18n._(fieldLabels["controls.axis.vertical"]); + case "bar.animation": + case "column.animation": + case "line.animation": + case "area.animation": + case "scatterplot.animation": + case "pie.animation": + case "animation": + return i18n._(fieldLabels["controls.animation"]); case "bar.segment": case "column.segment": case "line.segment": diff --git a/app/configurator/config-types.ts b/app/configurator/config-types.ts index 2ffeda792..4d9e087b0 100644 --- a/app/configurator/config-types.ts +++ b/app/configurator/config-types.ts @@ -168,6 +168,9 @@ const GenericSegmentField = t.intersection([ ]); export type GenericSegmentField = t.TypeOf; +const AnimationField = GenericField; +export type AnimationField = t.TypeOf; + const SortingField = t.partial({ sorting: t.type({ sortingType: SortingType, @@ -192,6 +195,7 @@ const ColumnFields = t.intersection([ }), t.partial({ segment: ColumnSegmentField, + animation: AnimationField, }), ]); const ColumnConfig = t.type( @@ -279,6 +283,7 @@ const ScatterPlotFields = t.intersection([ }), t.partial({ segment: ScatterPlotSegmentField, + animation: AnimationField, }), ]); const ScatterPlotConfig = t.type( @@ -297,11 +302,14 @@ export type ScatterPlotConfig = t.TypeOf; const PieSegmentField = t.intersection([GenericSegmentField, SortingField]); export type PieSegmentField = t.TypeOf; -const PieFields = t.type({ - y: GenericField, - // FIXME: "segment" should be "x" for consistency - segment: PieSegmentField, -}); +const PieFields = t.intersection([ + t.type({ + y: GenericField, + // FIXME: "segment" should be "x" for consistency + segment: PieSegmentField, + }), + t.partial({ animation: AnimationField }), +]); const PieConfig = t.type( { version: t.string, diff --git a/app/locales/de/messages.po b/app/locales/de/messages.po index d9ede71c3..360cd6e94 100644 --- a/app/locales/de/messages.po +++ b/app/locales/de/messages.po @@ -115,25 +115,25 @@ msgstr "Diese Visualisierung veröffentlichen" msgid "button.share" msgstr "Teilen" -#: app/configurator/components/field-i18n.ts:35 +#: app/configurator/components/field-i18n.ts:39 msgid "chart.map.layers.area" msgstr "Flächen" #: app/configurator/components/chart-configurator.tsx:750 -#: app/configurator/components/chart-options-selector.tsx:1055 -#: app/configurator/components/field-i18n.ts:31 +#: app/configurator/components/chart-options-selector.tsx:1050 +#: app/configurator/components/field-i18n.ts:35 msgid "chart.map.layers.base" msgstr "Kartenanzeige" -#: app/configurator/components/chart-options-selector.tsx:1059 +#: app/configurator/components/chart-options-selector.tsx:1054 msgid "chart.map.layers.base.show" msgstr "Weltkarte anzeigen" -#: app/configurator/components/chart-options-selector.tsx:1067 +#: app/configurator/components/chart-options-selector.tsx:1062 msgid "chart.map.layers.base.view.locked" msgstr "Gesperrte Ansicht" -#: app/configurator/components/field-i18n.ts:39 +#: app/configurator/components/field-i18n.ts:43 msgid "chart.map.layers.symbol" msgstr "Symbole" @@ -174,10 +174,14 @@ msgstr "Normal" msgid "controls..interactiveFilters.time.defaultSettings" msgstr "Standardeinstellung" -#: app/configurator/components/field-i18n.ts:87 +#: app/configurator/components/field-i18n.ts:91 msgid "controls.abbreviations" msgstr "Abkürzungen verwenden" +#: app/configurator/components/field-i18n.ts:17 +msgid "controls.animation" +msgstr "Animation" + #: app/configurator/components/chart-annotator.tsx:70 msgid "controls.annotator.add-description-warning" msgstr "Fügen Sie eine Beschreibung hinzu" @@ -194,40 +198,40 @@ msgstr "Horizontale Achse" msgid "controls.axis.vertical" msgstr "Vertikale Achse" -#: app/configurator/components/field-i18n.ts:119 +#: app/configurator/components/field-i18n.ts:123 msgid "controls.chart.type.area" msgstr "Flächen" -#: app/configurator/components/field-i18n.ts:111 +#: app/configurator/components/field-i18n.ts:115 msgid "controls.chart.type.bar" msgstr "Balken" -#: app/configurator/components/field-i18n.ts:107 +#: app/configurator/components/field-i18n.ts:111 msgid "controls.chart.type.column" msgstr "Säulen" -#: app/configurator/components/field-i18n.ts:115 +#: app/configurator/components/field-i18n.ts:119 msgid "controls.chart.type.line" msgstr "Linien" -#: app/configurator/components/field-i18n.ts:135 +#: app/configurator/components/field-i18n.ts:139 msgid "controls.chart.type.map" msgstr "Karte" -#: app/configurator/components/field-i18n.ts:127 +#: app/configurator/components/field-i18n.ts:131 msgid "controls.chart.type.pie" msgstr "Kreis" -#: app/configurator/components/field-i18n.ts:123 +#: app/configurator/components/field-i18n.ts:127 msgid "controls.chart.type.scatterplot" msgstr "Scatterplot" -#: app/configurator/components/field-i18n.ts:131 +#: app/configurator/components/field-i18n.ts:135 msgid "controls.chart.type.table" msgstr "Tabelle" -#: app/configurator/components/chart-options-selector.tsx:777 -#: app/configurator/components/field-i18n.ts:17 +#: app/configurator/components/chart-options-selector.tsx:772 +#: app/configurator/components/field-i18n.ts:21 msgid "controls.color" msgstr "Farbe" @@ -235,7 +239,7 @@ msgstr "Farbe" msgid "controls.color.add" msgstr "Hinzufügen …" -#: app/configurator/components/chart-options-selector.tsx:815 +#: app/configurator/components/chart-options-selector.tsx:810 msgid "controls.color.opacity" msgstr "Transparenz" @@ -256,35 +260,35 @@ msgstr "Farbpalette zurücksetzen" msgid "controls.color.palette.sequential" msgstr "Sequentiell" -#: app/configurator/components/chart-options-selector.tsx:902 +#: app/configurator/components/chart-options-selector.tsx:897 msgid "controls.color.scale.discretization.jenks" msgstr "Jenks (Natural Breaks)" -#: app/configurator/components/chart-options-selector.tsx:895 +#: app/configurator/components/chart-options-selector.tsx:890 msgid "controls.color.scale.discretization.quantiles" msgstr "Quantile (gleiche Anzahl Werte)" -#: app/configurator/components/chart-options-selector.tsx:888 +#: app/configurator/components/chart-options-selector.tsx:883 msgid "controls.color.scale.discretization.quantize" msgstr "Quantisierung (gleiche Wertebereiche)" -#: app/configurator/components/chart-options-selector.tsx:880 +#: app/configurator/components/chart-options-selector.tsx:875 msgid "controls.color.scale.interpolation" msgstr "Interpolation" -#: app/configurator/components/chart-options-selector.tsx:912 +#: app/configurator/components/chart-options-selector.tsx:907 msgid "controls.color.scale.number.of.classes" msgstr "Anzahl Klassen" -#: app/configurator/components/chart-options-selector.tsx:852 +#: app/configurator/components/chart-options-selector.tsx:847 msgid "controls.color.scale.type.continuous" msgstr "Kontinuierlich" -#: app/configurator/components/chart-options-selector.tsx:863 +#: app/configurator/components/chart-options-selector.tsx:858 msgid "controls.color.scale.type.discrete" msgstr "Diskret" -#: app/configurator/components/chart-options-selector.tsx:805 +#: app/configurator/components/chart-options-selector.tsx:800 msgid "controls.color.select" msgstr "Farbe auswählen" @@ -292,23 +296,23 @@ msgstr "Farbe auswählen" msgid "controls.colorpicker.open" msgstr "Farbauswahl öffnen" -#: app/configurator/components/field-i18n.ts:27 +#: app/configurator/components/field-i18n.ts:31 msgid "controls.column.grouped" msgstr "Gruppiert" -#: app/configurator/components/field-i18n.ts:23 +#: app/configurator/components/field-i18n.ts:27 msgid "controls.column.stacked" msgstr "Gestapelt" -#: app/configurator/components/field-i18n.ts:19 +#: app/configurator/components/field-i18n.ts:23 msgid "controls.description" msgstr "Beschreibung hinzufügen" #: app/charts/shared/chart-data-filters.tsx:249 #: app/charts/shared/chart-data-filters.tsx:296 -#: app/configurator/components/field.tsx:167 -#: app/configurator/components/field.tsx:264 -#: app/configurator/components/field.tsx:364 +#: app/configurator/components/field.tsx:165 +#: app/configurator/components/field.tsx:262 +#: app/configurator/components/field.tsx:362 msgid "controls.dimensionvalue.none" msgstr "Kein Filter" @@ -354,23 +358,23 @@ msgstr "Zeitspanne" msgid "controls.groups.empty-help" msgstr "Ziehen Sie Spalten hierher, um Gruppen zu erstellen." -#: app/configurator/components/field-i18n.ts:91 +#: app/configurator/components/field-i18n.ts:95 msgid "controls.imputation" msgstr "Imputationstyp" -#: app/configurator/components/chart-options-selector.tsx:947 -#: app/configurator/components/field-i18n.ts:103 +#: app/configurator/components/chart-options-selector.tsx:942 +#: app/configurator/components/field-i18n.ts:107 msgid "controls.imputation.type.linear" msgstr "Lineare Interpolation" -#: app/configurator/components/chart-options-selector.tsx:940 -#: app/configurator/components/chart-options-selector.tsx:952 -#: app/configurator/components/field-i18n.ts:95 +#: app/configurator/components/chart-options-selector.tsx:935 +#: app/configurator/components/chart-options-selector.tsx:947 +#: app/configurator/components/field-i18n.ts:99 msgid "controls.imputation.type.none" msgstr "-" -#: app/configurator/components/chart-options-selector.tsx:942 -#: app/configurator/components/field-i18n.ts:99 +#: app/configurator/components/chart-options-selector.tsx:937 +#: app/configurator/components/field-i18n.ts:103 msgid "controls.imputation.type.zeros" msgstr "Nullen" @@ -387,19 +391,19 @@ msgstr "Keine Zeitdimension verfügbar!" msgid "controls.interactiveFilters.time.toggleTimeFilter" msgstr "Zeitfilter anzeigen" -#: app/configurator/components/field-i18n.ts:139 +#: app/configurator/components/field-i18n.ts:143 msgid "controls.language.english" msgstr "Englisch" -#: app/configurator/components/field-i18n.ts:147 +#: app/configurator/components/field-i18n.ts:151 msgid "controls.language.french" msgstr "Französisch" -#: app/configurator/components/field-i18n.ts:143 +#: app/configurator/components/field-i18n.ts:147 msgid "controls.language.german" msgstr "Deutsch" -#: app/configurator/components/field-i18n.ts:151 +#: app/configurator/components/field-i18n.ts:155 msgid "controls.language.italian" msgstr "Italienisch" @@ -432,8 +436,8 @@ msgstr "Zurück zur Übersicht" msgid "controls.nav.back-to-preview" msgstr "Zurück zur Vorschau" -#: app/configurator/components/field.tsx:703 -#: app/configurator/components/field.tsx:875 +#: app/configurator/components/field.tsx:701 +#: app/configurator/components/field.tsx:873 #: app/configurator/interactive-filters/interactive-filters-config-options.tsx:242 msgid "controls.none" msgstr "Keine" @@ -446,7 +450,7 @@ msgstr "Ein" msgid "controls.option.isNotActive" msgstr "Aus" -#: app/configurator/components/chart-options-selector.tsx:845 +#: app/configurator/components/chart-options-selector.tsx:840 msgid "controls.scale.type" msgstr "Skalierungstyp" @@ -454,7 +458,7 @@ msgstr "Skalierungstyp" msgid "controls.search.clear" msgstr "Suche zurücksetzen" -#: app/configurator/components/chart-options-selector.tsx:383 +#: app/configurator/components/chart-options-selector.tsx:378 msgid "controls.section.additional-information" msgstr "Zusätzliche Informationen" @@ -478,8 +482,8 @@ msgstr "Filter" msgid "controls.section.description" msgstr "Titel & Beschreibung" -#: app/configurator/components/chart-options-selector.tsx:466 -#: app/configurator/components/chart-options-selector.tsx:470 +#: app/configurator/components/chart-options-selector.tsx:461 +#: app/configurator/components/chart-options-selector.tsx:465 #: app/configurator/table/table-chart-options.tsx:319 #: app/configurator/table/table-chart-options.tsx:323 #: app/configurator/table/table-chart-options.tsx:343 @@ -491,11 +495,11 @@ msgstr "Filter" msgid "controls.section.groups" msgstr "Gruppierungen" -#: app/configurator/components/chart-options-selector.tsx:981 +#: app/configurator/components/chart-options-selector.tsx:976 msgid "controls.section.imputation" msgstr "Fehlende Werte" -#: app/configurator/components/chart-options-selector.tsx:986 +#: app/configurator/components/chart-options-selector.tsx:981 msgid "controls.section.imputation.explanation" msgstr "Für diesen Diagrammtyp sollten fehlenden Werten Ersatzwerte zugewiesen werden. Entscheiden Sie sich für die Imputationslogik oder wechseln Sie zu einem anderen Diagrammtyp." @@ -504,11 +508,11 @@ msgstr "Für diesen Diagrammtyp sollten fehlenden Werten Ersatzwerte zugewiesen msgid "controls.section.interactive.filters" msgstr "Interaktive Filter hinzufügen" -#: app/configurator/components/chart-options-selector.tsx:392 +#: app/configurator/components/chart-options-selector.tsx:387 msgid "controls.section.show-standard-error" msgstr "Standardfehler anzeigen" -#: app/configurator/components/chart-options-selector.tsx:612 +#: app/configurator/components/chart-options-selector.tsx:607 msgid "controls.section.sorting" msgstr "Sortieren" @@ -534,7 +538,7 @@ msgstr "Fügen Sie einen Titel oder eine Beschreibung hinzu" msgid "controls.select.chart.type" msgstr "Diagrammtyp" -#: app/configurator/components/chart-options-selector.tsx:516 +#: app/configurator/components/chart-options-selector.tsx:511 msgid "controls.select.column.layout" msgstr "Spaltenstil" @@ -576,16 +580,16 @@ msgid "controls.select.dimension" msgstr "Dimension auswählen" #: app/configurator/components/chart-options-selector.tsx:224 -#: app/configurator/components/chart-options-selector.tsx:702 -#: app/configurator/components/chart-options-selector.tsx:782 +#: app/configurator/components/chart-options-selector.tsx:697 +#: app/configurator/components/chart-options-selector.tsx:777 msgid "controls.select.measure" msgstr "Messwert auswählen" -#: app/configurator/components/field.tsx:172 -#: app/configurator/components/field.tsx:269 -#: app/configurator/components/field.tsx:369 -#: app/configurator/components/field.tsx:708 -#: app/configurator/components/field.tsx:880 +#: app/configurator/components/field.tsx:170 +#: app/configurator/components/field.tsx:267 +#: app/configurator/components/field.tsx:367 +#: app/configurator/components/field.tsx:706 +#: app/configurator/components/field.tsx:878 msgid "controls.select.optional" msgstr "" @@ -602,7 +606,7 @@ msgstr "Für beste Ergebnisse wählen Sie nicht mehr als 7 Werte für die Visual msgid "controls.set-values-apply" msgstr "Filter anwenden" -#: app/configurator/components/chart-options-selector.tsx:694 +#: app/configurator/components/chart-options-selector.tsx:689 msgid "controls.size" msgstr "Grösse" @@ -610,54 +614,54 @@ msgstr "Grösse" msgid "controls.sorting.addDimension" msgstr "Dimension hinzufügen" -#: app/configurator/components/chart-options-selector.tsx:564 +#: app/configurator/components/chart-options-selector.tsx:559 msgid "controls.sorting.byAuto" msgstr "Auto" -#: app/configurator/components/chart-options-selector.tsx:558 -#: app/configurator/components/chart-options-selector.tsx:568 +#: app/configurator/components/chart-options-selector.tsx:553 +#: app/configurator/components/chart-options-selector.tsx:563 msgid "controls.sorting.byDimensionLabel" msgstr "Name" -#: app/configurator/components/field-i18n.ts:47 #: app/configurator/components/field-i18n.ts:51 +#: app/configurator/components/field-i18n.ts:55 msgid "controls.sorting.byDimensionLabel.ascending" msgstr "A → Z" -#: app/configurator/components/field-i18n.ts:55 #: app/configurator/components/field-i18n.ts:59 +#: app/configurator/components/field-i18n.ts:63 msgid "controls.sorting.byDimensionLabel.descending" msgstr "Z → A" -#: app/configurator/components/chart-options-selector.tsx:560 +#: app/configurator/components/chart-options-selector.tsx:555 msgid "controls.sorting.byMeasure" msgstr "Messwert" -#: app/configurator/components/field-i18n.ts:79 +#: app/configurator/components/field-i18n.ts:83 msgid "controls.sorting.byMeasure.ascending" msgstr "1 → 9" -#: app/configurator/components/field-i18n.ts:83 +#: app/configurator/components/field-i18n.ts:87 msgid "controls.sorting.byMeasure.descending" msgstr "9 → 1" -#: app/configurator/components/chart-options-selector.tsx:562 +#: app/configurator/components/chart-options-selector.tsx:557 msgid "controls.sorting.byTotalSize" msgstr "Gesamtgrösse" -#: app/configurator/components/field-i18n.ts:63 +#: app/configurator/components/field-i18n.ts:67 msgid "controls.sorting.byTotalSize.ascending" msgstr "Kleinste zuerst" -#: app/configurator/components/field-i18n.ts:75 +#: app/configurator/components/field-i18n.ts:79 msgid "controls.sorting.byTotalSize.largestBottom" msgstr "Grösste unten" -#: app/configurator/components/field-i18n.ts:67 +#: app/configurator/components/field-i18n.ts:71 msgid "controls.sorting.byTotalSize.largestFirst" msgstr "Grösste zuerst" -#: app/configurator/components/field-i18n.ts:71 +#: app/configurator/components/field-i18n.ts:75 msgid "controls.sorting.byTotalSize.largestTop" msgstr "Kleinste unten" @@ -669,7 +673,7 @@ msgstr "Sortierung entfernen" msgid "controls.sorting.selectDimension" msgstr "Wählen Sie eine Dimension aus …" -#: app/configurator/components/field-i18n.ts:43 +#: app/configurator/components/field-i18n.ts:47 #: app/configurator/table/table-chart-sorting-options.tsx:335 msgid "controls.sorting.sortBy" msgstr "Sortieren nach" @@ -698,7 +702,7 @@ msgstr "Sortierung" msgid "controls.tableSettings.showSearch" msgstr "Suche anzeigen" -#: app/configurator/components/field-i18n.ts:18 +#: app/configurator/components/field-i18n.ts:22 msgid "controls.title" msgstr "Titel hinzufügen" diff --git a/app/locales/en/messages.po b/app/locales/en/messages.po index 9116fd095..b490642a7 100644 --- a/app/locales/en/messages.po +++ b/app/locales/en/messages.po @@ -115,25 +115,25 @@ msgstr "Publish this visualization" msgid "button.share" msgstr "Share" -#: app/configurator/components/field-i18n.ts:35 +#: app/configurator/components/field-i18n.ts:39 msgid "chart.map.layers.area" msgstr "Areas" #: app/configurator/components/chart-configurator.tsx:750 -#: app/configurator/components/chart-options-selector.tsx:1055 -#: app/configurator/components/field-i18n.ts:31 +#: app/configurator/components/chart-options-selector.tsx:1050 +#: app/configurator/components/field-i18n.ts:35 msgid "chart.map.layers.base" msgstr "Map Display" -#: app/configurator/components/chart-options-selector.tsx:1059 +#: app/configurator/components/chart-options-selector.tsx:1054 msgid "chart.map.layers.base.show" msgstr "Show Worldmap" -#: app/configurator/components/chart-options-selector.tsx:1067 +#: app/configurator/components/chart-options-selector.tsx:1062 msgid "chart.map.layers.base.view.locked" msgstr "Locked view" -#: app/configurator/components/field-i18n.ts:39 +#: app/configurator/components/field-i18n.ts:43 msgid "chart.map.layers.symbol" msgstr "Symbols" @@ -174,10 +174,14 @@ msgstr "Regular" msgid "controls..interactiveFilters.time.defaultSettings" msgstr "Default Settings" -#: app/configurator/components/field-i18n.ts:87 +#: app/configurator/components/field-i18n.ts:91 msgid "controls.abbreviations" msgstr "Use abbreviations" +#: app/configurator/components/field-i18n.ts:17 +msgid "controls.animation" +msgstr "Animation" + #: app/configurator/components/chart-annotator.tsx:70 msgid "controls.annotator.add-description-warning" msgstr "Please add a description" @@ -194,40 +198,40 @@ msgstr "Horizontal Axis" msgid "controls.axis.vertical" msgstr "Vertical Axis" -#: app/configurator/components/field-i18n.ts:119 +#: app/configurator/components/field-i18n.ts:123 msgid "controls.chart.type.area" msgstr "Areas" -#: app/configurator/components/field-i18n.ts:111 +#: app/configurator/components/field-i18n.ts:115 msgid "controls.chart.type.bar" msgstr "Bars" -#: app/configurator/components/field-i18n.ts:107 +#: app/configurator/components/field-i18n.ts:111 msgid "controls.chart.type.column" msgstr "Columns" -#: app/configurator/components/field-i18n.ts:115 +#: app/configurator/components/field-i18n.ts:119 msgid "controls.chart.type.line" msgstr "Lines" -#: app/configurator/components/field-i18n.ts:135 +#: app/configurator/components/field-i18n.ts:139 msgid "controls.chart.type.map" msgstr "Map" -#: app/configurator/components/field-i18n.ts:127 +#: app/configurator/components/field-i18n.ts:131 msgid "controls.chart.type.pie" msgstr "Pie" -#: app/configurator/components/field-i18n.ts:123 +#: app/configurator/components/field-i18n.ts:127 msgid "controls.chart.type.scatterplot" msgstr "Scatterplot" -#: app/configurator/components/field-i18n.ts:131 +#: app/configurator/components/field-i18n.ts:135 msgid "controls.chart.type.table" msgstr "Table" -#: app/configurator/components/chart-options-selector.tsx:777 -#: app/configurator/components/field-i18n.ts:17 +#: app/configurator/components/chart-options-selector.tsx:772 +#: app/configurator/components/field-i18n.ts:21 msgid "controls.color" msgstr "Color" @@ -235,7 +239,7 @@ msgstr "Color" msgid "controls.color.add" msgstr "Add ..." -#: app/configurator/components/chart-options-selector.tsx:815 +#: app/configurator/components/chart-options-selector.tsx:810 msgid "controls.color.opacity" msgstr "Opacity" @@ -256,35 +260,35 @@ msgstr "Reset color palette" msgid "controls.color.palette.sequential" msgstr "Sequential" -#: app/configurator/components/chart-options-selector.tsx:902 +#: app/configurator/components/chart-options-selector.tsx:897 msgid "controls.color.scale.discretization.jenks" msgstr "Jenks (natural breaks)" -#: app/configurator/components/chart-options-selector.tsx:895 +#: app/configurator/components/chart-options-selector.tsx:890 msgid "controls.color.scale.discretization.quantiles" msgstr "Quantiles (equal distribution of values)" -#: app/configurator/components/chart-options-selector.tsx:888 +#: app/configurator/components/chart-options-selector.tsx:883 msgid "controls.color.scale.discretization.quantize" msgstr "Quantize (equal intervals)" -#: app/configurator/components/chart-options-selector.tsx:880 +#: app/configurator/components/chart-options-selector.tsx:875 msgid "controls.color.scale.interpolation" msgstr "Interpolation" -#: app/configurator/components/chart-options-selector.tsx:912 +#: app/configurator/components/chart-options-selector.tsx:907 msgid "controls.color.scale.number.of.classes" msgstr "Number of classes" -#: app/configurator/components/chart-options-selector.tsx:852 +#: app/configurator/components/chart-options-selector.tsx:847 msgid "controls.color.scale.type.continuous" msgstr "Continuous" -#: app/configurator/components/chart-options-selector.tsx:863 +#: app/configurator/components/chart-options-selector.tsx:858 msgid "controls.color.scale.type.discrete" msgstr "Discrete" -#: app/configurator/components/chart-options-selector.tsx:805 +#: app/configurator/components/chart-options-selector.tsx:800 msgid "controls.color.select" msgstr "Select a color" @@ -292,23 +296,23 @@ msgstr "Select a color" msgid "controls.colorpicker.open" msgstr "Open Color Picker" -#: app/configurator/components/field-i18n.ts:27 +#: app/configurator/components/field-i18n.ts:31 msgid "controls.column.grouped" msgstr "Grouped" -#: app/configurator/components/field-i18n.ts:23 +#: app/configurator/components/field-i18n.ts:27 msgid "controls.column.stacked" msgstr "Stacked" -#: app/configurator/components/field-i18n.ts:19 +#: app/configurator/components/field-i18n.ts:23 msgid "controls.description" msgstr "Description" #: app/charts/shared/chart-data-filters.tsx:249 #: app/charts/shared/chart-data-filters.tsx:296 -#: app/configurator/components/field.tsx:167 -#: app/configurator/components/field.tsx:264 -#: app/configurator/components/field.tsx:364 +#: app/configurator/components/field.tsx:165 +#: app/configurator/components/field.tsx:262 +#: app/configurator/components/field.tsx:362 msgid "controls.dimensionvalue.none" msgstr "No Filter" @@ -354,23 +358,23 @@ msgstr "Time Range" msgid "controls.groups.empty-help" msgstr "Drag and drop columns here to make groups." -#: app/configurator/components/field-i18n.ts:91 +#: app/configurator/components/field-i18n.ts:95 msgid "controls.imputation" msgstr "Imputation type" -#: app/configurator/components/chart-options-selector.tsx:947 -#: app/configurator/components/field-i18n.ts:103 +#: app/configurator/components/chart-options-selector.tsx:942 +#: app/configurator/components/field-i18n.ts:107 msgid "controls.imputation.type.linear" msgstr "Linear interpolation" -#: app/configurator/components/chart-options-selector.tsx:940 -#: app/configurator/components/chart-options-selector.tsx:952 -#: app/configurator/components/field-i18n.ts:95 +#: app/configurator/components/chart-options-selector.tsx:935 +#: app/configurator/components/chart-options-selector.tsx:947 +#: app/configurator/components/field-i18n.ts:99 msgid "controls.imputation.type.none" msgstr "-" -#: app/configurator/components/chart-options-selector.tsx:942 -#: app/configurator/components/field-i18n.ts:99 +#: app/configurator/components/chart-options-selector.tsx:937 +#: app/configurator/components/field-i18n.ts:103 msgid "controls.imputation.type.zeros" msgstr "Zeros" @@ -387,19 +391,19 @@ msgstr "There is no time dimension!" msgid "controls.interactiveFilters.time.toggleTimeFilter" msgstr "Show time filter" -#: app/configurator/components/field-i18n.ts:139 +#: app/configurator/components/field-i18n.ts:143 msgid "controls.language.english" msgstr "English" -#: app/configurator/components/field-i18n.ts:147 +#: app/configurator/components/field-i18n.ts:151 msgid "controls.language.french" msgstr "French" -#: app/configurator/components/field-i18n.ts:143 +#: app/configurator/components/field-i18n.ts:147 msgid "controls.language.german" msgstr "German" -#: app/configurator/components/field-i18n.ts:151 +#: app/configurator/components/field-i18n.ts:155 msgid "controls.language.italian" msgstr "Italian" @@ -432,8 +436,8 @@ msgstr "Back to main" msgid "controls.nav.back-to-preview" msgstr "Back to preview" -#: app/configurator/components/field.tsx:703 -#: app/configurator/components/field.tsx:875 +#: app/configurator/components/field.tsx:701 +#: app/configurator/components/field.tsx:873 #: app/configurator/interactive-filters/interactive-filters-config-options.tsx:242 msgid "controls.none" msgstr "None" @@ -446,7 +450,7 @@ msgstr "On" msgid "controls.option.isNotActive" msgstr "Off" -#: app/configurator/components/chart-options-selector.tsx:845 +#: app/configurator/components/chart-options-selector.tsx:840 msgid "controls.scale.type" msgstr "Scale type" @@ -454,7 +458,7 @@ msgstr "Scale type" msgid "controls.search.clear" msgstr "Clear search field" -#: app/configurator/components/chart-options-selector.tsx:383 +#: app/configurator/components/chart-options-selector.tsx:378 msgid "controls.section.additional-information" msgstr "Additional information" @@ -478,8 +482,8 @@ msgstr "Filters" msgid "controls.section.description" msgstr "Title & Description" -#: app/configurator/components/chart-options-selector.tsx:466 -#: app/configurator/components/chart-options-selector.tsx:470 +#: app/configurator/components/chart-options-selector.tsx:461 +#: app/configurator/components/chart-options-selector.tsx:465 #: app/configurator/table/table-chart-options.tsx:319 #: app/configurator/table/table-chart-options.tsx:323 #: app/configurator/table/table-chart-options.tsx:343 @@ -491,11 +495,11 @@ msgstr "Filter" msgid "controls.section.groups" msgstr "Groups" -#: app/configurator/components/chart-options-selector.tsx:981 +#: app/configurator/components/chart-options-selector.tsx:976 msgid "controls.section.imputation" msgstr "Missing values" -#: app/configurator/components/chart-options-selector.tsx:986 +#: app/configurator/components/chart-options-selector.tsx:981 msgid "controls.section.imputation.explanation" msgstr "For this chart type, replacement values should be assigned to missing values. Decide on the imputation logic or switch to another chart type." @@ -504,11 +508,11 @@ msgstr "For this chart type, replacement values should be assigned to missing va msgid "controls.section.interactive.filters" msgstr "Interactive Filters" -#: app/configurator/components/chart-options-selector.tsx:392 +#: app/configurator/components/chart-options-selector.tsx:387 msgid "controls.section.show-standard-error" msgstr "Show standard error" -#: app/configurator/components/chart-options-selector.tsx:612 +#: app/configurator/components/chart-options-selector.tsx:607 msgid "controls.section.sorting" msgstr "Sort" @@ -534,7 +538,7 @@ msgstr "Please add a title or description." msgid "controls.select.chart.type" msgstr "Chart Type" -#: app/configurator/components/chart-options-selector.tsx:516 +#: app/configurator/components/chart-options-selector.tsx:511 msgid "controls.select.column.layout" msgstr "Column layout" @@ -576,16 +580,16 @@ msgid "controls.select.dimension" msgstr "Select a dimension" #: app/configurator/components/chart-options-selector.tsx:224 -#: app/configurator/components/chart-options-selector.tsx:702 -#: app/configurator/components/chart-options-selector.tsx:782 +#: app/configurator/components/chart-options-selector.tsx:697 +#: app/configurator/components/chart-options-selector.tsx:777 msgid "controls.select.measure" msgstr "Select a measure" -#: app/configurator/components/field.tsx:172 -#: app/configurator/components/field.tsx:269 -#: app/configurator/components/field.tsx:369 -#: app/configurator/components/field.tsx:708 -#: app/configurator/components/field.tsx:880 +#: app/configurator/components/field.tsx:170 +#: app/configurator/components/field.tsx:267 +#: app/configurator/components/field.tsx:367 +#: app/configurator/components/field.tsx:706 +#: app/configurator/components/field.tsx:878 msgid "controls.select.optional" msgstr "optional" @@ -602,7 +606,7 @@ msgstr "For best results, do not select more than 7 values in the visualization. msgid "controls.set-values-apply" msgstr "Apply filters" -#: app/configurator/components/chart-options-selector.tsx:694 +#: app/configurator/components/chart-options-selector.tsx:689 msgid "controls.size" msgstr "Size" @@ -610,54 +614,54 @@ msgstr "Size" msgid "controls.sorting.addDimension" msgstr "Add dimension" -#: app/configurator/components/chart-options-selector.tsx:564 +#: app/configurator/components/chart-options-selector.tsx:559 msgid "controls.sorting.byAuto" msgstr "Automatic" -#: app/configurator/components/chart-options-selector.tsx:558 -#: app/configurator/components/chart-options-selector.tsx:568 +#: app/configurator/components/chart-options-selector.tsx:553 +#: app/configurator/components/chart-options-selector.tsx:563 msgid "controls.sorting.byDimensionLabel" msgstr "Name" -#: app/configurator/components/field-i18n.ts:47 #: app/configurator/components/field-i18n.ts:51 +#: app/configurator/components/field-i18n.ts:55 msgid "controls.sorting.byDimensionLabel.ascending" msgstr "A → Z" -#: app/configurator/components/field-i18n.ts:55 #: app/configurator/components/field-i18n.ts:59 +#: app/configurator/components/field-i18n.ts:63 msgid "controls.sorting.byDimensionLabel.descending" msgstr "Z → A" -#: app/configurator/components/chart-options-selector.tsx:560 +#: app/configurator/components/chart-options-selector.tsx:555 msgid "controls.sorting.byMeasure" msgstr "Measure" -#: app/configurator/components/field-i18n.ts:79 +#: app/configurator/components/field-i18n.ts:83 msgid "controls.sorting.byMeasure.ascending" msgstr "1 → 9" -#: app/configurator/components/field-i18n.ts:83 +#: app/configurator/components/field-i18n.ts:87 msgid "controls.sorting.byMeasure.descending" msgstr "9 → 1" -#: app/configurator/components/chart-options-selector.tsx:562 +#: app/configurator/components/chart-options-selector.tsx:557 msgid "controls.sorting.byTotalSize" msgstr "Total size" -#: app/configurator/components/field-i18n.ts:63 +#: app/configurator/components/field-i18n.ts:67 msgid "controls.sorting.byTotalSize.ascending" msgstr "Largest last" -#: app/configurator/components/field-i18n.ts:75 +#: app/configurator/components/field-i18n.ts:79 msgid "controls.sorting.byTotalSize.largestBottom" msgstr "Ascending" -#: app/configurator/components/field-i18n.ts:67 +#: app/configurator/components/field-i18n.ts:71 msgid "controls.sorting.byTotalSize.largestFirst" msgstr "Largest first" -#: app/configurator/components/field-i18n.ts:71 +#: app/configurator/components/field-i18n.ts:75 msgid "controls.sorting.byTotalSize.largestTop" msgstr "Descending" @@ -669,7 +673,7 @@ msgstr "Remove sorting dimension" msgid "controls.sorting.selectDimension" msgstr "Select a dimension …" -#: app/configurator/components/field-i18n.ts:43 +#: app/configurator/components/field-i18n.ts:47 #: app/configurator/table/table-chart-sorting-options.tsx:335 msgid "controls.sorting.sortBy" msgstr "Sort by" @@ -698,7 +702,7 @@ msgstr "Sorting" msgid "controls.tableSettings.showSearch" msgstr "Show search field" -#: app/configurator/components/field-i18n.ts:18 +#: app/configurator/components/field-i18n.ts:22 msgid "controls.title" msgstr "Title" diff --git a/app/locales/fr/messages.po b/app/locales/fr/messages.po index c3d33f436..520fd2ce4 100644 --- a/app/locales/fr/messages.po +++ b/app/locales/fr/messages.po @@ -115,25 +115,25 @@ msgstr "Publier cette visualisation" msgid "button.share" msgstr "Partager" -#: app/configurator/components/field-i18n.ts:35 +#: app/configurator/components/field-i18n.ts:39 msgid "chart.map.layers.area" msgstr "Zones" #: app/configurator/components/chart-configurator.tsx:750 -#: app/configurator/components/chart-options-selector.tsx:1055 -#: app/configurator/components/field-i18n.ts:31 +#: app/configurator/components/chart-options-selector.tsx:1050 +#: app/configurator/components/field-i18n.ts:35 msgid "chart.map.layers.base" msgstr "Affichage de la carte" -#: app/configurator/components/chart-options-selector.tsx:1059 +#: app/configurator/components/chart-options-selector.tsx:1054 msgid "chart.map.layers.base.show" msgstr "Afficher la carte du monde" -#: app/configurator/components/chart-options-selector.tsx:1067 +#: app/configurator/components/chart-options-selector.tsx:1062 msgid "chart.map.layers.base.view.locked" msgstr "Carte verrouillée" -#: app/configurator/components/field-i18n.ts:39 +#: app/configurator/components/field-i18n.ts:43 msgid "chart.map.layers.symbol" msgstr "Symboles" @@ -174,10 +174,14 @@ msgstr "Normal" msgid "controls..interactiveFilters.time.defaultSettings" msgstr "Paramètres d'origine" -#: app/configurator/components/field-i18n.ts:87 +#: app/configurator/components/field-i18n.ts:91 msgid "controls.abbreviations" msgstr "Utiliser des abréviations" +#: app/configurator/components/field-i18n.ts:17 +msgid "controls.animation" +msgstr "Animation" + #: app/configurator/components/chart-annotator.tsx:70 msgid "controls.annotator.add-description-warning" msgstr "Ajoutez une description au graphique" @@ -194,40 +198,40 @@ msgstr "Axe horizontal" msgid "controls.axis.vertical" msgstr "Axe vertical" -#: app/configurator/components/field-i18n.ts:119 +#: app/configurator/components/field-i18n.ts:123 msgid "controls.chart.type.area" msgstr "Surfaces" -#: app/configurator/components/field-i18n.ts:111 +#: app/configurator/components/field-i18n.ts:115 msgid "controls.chart.type.bar" msgstr "Barres" -#: app/configurator/components/field-i18n.ts:107 +#: app/configurator/components/field-i18n.ts:111 msgid "controls.chart.type.column" msgstr "Colonnes" -#: app/configurator/components/field-i18n.ts:115 +#: app/configurator/components/field-i18n.ts:119 msgid "controls.chart.type.line" msgstr "Lignes" -#: app/configurator/components/field-i18n.ts:135 +#: app/configurator/components/field-i18n.ts:139 msgid "controls.chart.type.map" msgstr "Carte" -#: app/configurator/components/field-i18n.ts:127 +#: app/configurator/components/field-i18n.ts:131 msgid "controls.chart.type.pie" msgstr "Secteurs" -#: app/configurator/components/field-i18n.ts:123 +#: app/configurator/components/field-i18n.ts:127 msgid "controls.chart.type.scatterplot" msgstr "Nuage de points" -#: app/configurator/components/field-i18n.ts:131 +#: app/configurator/components/field-i18n.ts:135 msgid "controls.chart.type.table" msgstr "Tableau" -#: app/configurator/components/chart-options-selector.tsx:777 -#: app/configurator/components/field-i18n.ts:17 +#: app/configurator/components/chart-options-selector.tsx:772 +#: app/configurator/components/field-i18n.ts:21 msgid "controls.color" msgstr "Couleur" @@ -235,7 +239,7 @@ msgstr "Couleur" msgid "controls.color.add" msgstr "Ajouter…" -#: app/configurator/components/chart-options-selector.tsx:815 +#: app/configurator/components/chart-options-selector.tsx:810 msgid "controls.color.opacity" msgstr "Transparence" @@ -256,35 +260,35 @@ msgstr "Réinitialiser la palette de couleurs" msgid "controls.color.palette.sequential" msgstr "Séquentielle" -#: app/configurator/components/chart-options-selector.tsx:902 +#: app/configurator/components/chart-options-selector.tsx:897 msgid "controls.color.scale.discretization.jenks" msgstr "Jenks (intervalles naturels)" -#: app/configurator/components/chart-options-selector.tsx:895 +#: app/configurator/components/chart-options-selector.tsx:890 msgid "controls.color.scale.discretization.quantiles" msgstr "Quantiles (distribution homogène des valeurs)" -#: app/configurator/components/chart-options-selector.tsx:888 +#: app/configurator/components/chart-options-selector.tsx:883 msgid "controls.color.scale.discretization.quantize" msgstr "Intervalles égaux" -#: app/configurator/components/chart-options-selector.tsx:880 +#: app/configurator/components/chart-options-selector.tsx:875 msgid "controls.color.scale.interpolation" msgstr "Interpolation" -#: app/configurator/components/chart-options-selector.tsx:912 +#: app/configurator/components/chart-options-selector.tsx:907 msgid "controls.color.scale.number.of.classes" msgstr "Nombre de classes" -#: app/configurator/components/chart-options-selector.tsx:852 +#: app/configurator/components/chart-options-selector.tsx:847 msgid "controls.color.scale.type.continuous" msgstr "Continue" -#: app/configurator/components/chart-options-selector.tsx:863 +#: app/configurator/components/chart-options-selector.tsx:858 msgid "controls.color.scale.type.discrete" msgstr "Discrète" -#: app/configurator/components/chart-options-selector.tsx:805 +#: app/configurator/components/chart-options-selector.tsx:800 msgid "controls.color.select" msgstr "Sélectionner une couleur" @@ -292,23 +296,23 @@ msgstr "Sélectionner une couleur" msgid "controls.colorpicker.open" msgstr "Ouvrir la pipette à couleur" -#: app/configurator/components/field-i18n.ts:27 +#: app/configurator/components/field-i18n.ts:31 msgid "controls.column.grouped" msgstr "groupées" -#: app/configurator/components/field-i18n.ts:23 +#: app/configurator/components/field-i18n.ts:27 msgid "controls.column.stacked" msgstr "empilées" -#: app/configurator/components/field-i18n.ts:19 +#: app/configurator/components/field-i18n.ts:23 msgid "controls.description" msgstr "Description" #: app/charts/shared/chart-data-filters.tsx:249 #: app/charts/shared/chart-data-filters.tsx:296 -#: app/configurator/components/field.tsx:167 -#: app/configurator/components/field.tsx:264 -#: app/configurator/components/field.tsx:364 +#: app/configurator/components/field.tsx:165 +#: app/configurator/components/field.tsx:262 +#: app/configurator/components/field.tsx:362 msgid "controls.dimensionvalue.none" msgstr "Aucune filtre" @@ -354,23 +358,23 @@ msgstr "Intervalle de temps" msgid "controls.groups.empty-help" msgstr "Glisser-déposer des colonnes ici pour créer des groupes." -#: app/configurator/components/field-i18n.ts:91 +#: app/configurator/components/field-i18n.ts:95 msgid "controls.imputation" msgstr "Type d'imputation" -#: app/configurator/components/chart-options-selector.tsx:947 -#: app/configurator/components/field-i18n.ts:103 +#: app/configurator/components/chart-options-selector.tsx:942 +#: app/configurator/components/field-i18n.ts:107 msgid "controls.imputation.type.linear" msgstr "Interpolation linéaire" -#: app/configurator/components/chart-options-selector.tsx:940 -#: app/configurator/components/chart-options-selector.tsx:952 -#: app/configurator/components/field-i18n.ts:95 +#: app/configurator/components/chart-options-selector.tsx:935 +#: app/configurator/components/chart-options-selector.tsx:947 +#: app/configurator/components/field-i18n.ts:99 msgid "controls.imputation.type.none" msgstr "-" -#: app/configurator/components/chart-options-selector.tsx:942 -#: app/configurator/components/field-i18n.ts:99 +#: app/configurator/components/chart-options-selector.tsx:937 +#: app/configurator/components/field-i18n.ts:103 msgid "controls.imputation.type.zeros" msgstr "Zéros" @@ -387,19 +391,19 @@ msgstr "Il n'y a pas de dimension temporelle!" msgid "controls.interactiveFilters.time.toggleTimeFilter" msgstr "Afficher le filtre temporel" -#: app/configurator/components/field-i18n.ts:139 +#: app/configurator/components/field-i18n.ts:143 msgid "controls.language.english" msgstr "Anglais" -#: app/configurator/components/field-i18n.ts:147 +#: app/configurator/components/field-i18n.ts:151 msgid "controls.language.french" msgstr "Français" -#: app/configurator/components/field-i18n.ts:143 +#: app/configurator/components/field-i18n.ts:147 msgid "controls.language.german" msgstr "Allemand" -#: app/configurator/components/field-i18n.ts:151 +#: app/configurator/components/field-i18n.ts:155 msgid "controls.language.italian" msgstr "Italien" @@ -432,8 +436,8 @@ msgstr "Retour aux paramètres généraux" msgid "controls.nav.back-to-preview" msgstr "Retour à l'aperçu" -#: app/configurator/components/field.tsx:703 -#: app/configurator/components/field.tsx:875 +#: app/configurator/components/field.tsx:701 +#: app/configurator/components/field.tsx:873 #: app/configurator/interactive-filters/interactive-filters-config-options.tsx:242 msgid "controls.none" msgstr "Aucun" @@ -446,7 +450,7 @@ msgstr "Actif" msgid "controls.option.isNotActive" msgstr "Inactif" -#: app/configurator/components/chart-options-selector.tsx:845 +#: app/configurator/components/chart-options-selector.tsx:840 msgid "controls.scale.type" msgstr "Type d'échelle" @@ -454,7 +458,7 @@ msgstr "Type d'échelle" msgid "controls.search.clear" msgstr "Effacer la recherche" -#: app/configurator/components/chart-options-selector.tsx:383 +#: app/configurator/components/chart-options-selector.tsx:378 msgid "controls.section.additional-information" msgstr "Informations supplémentaires" @@ -478,8 +482,8 @@ msgstr "Filtres" msgid "controls.section.description" msgstr "Titre & description" -#: app/configurator/components/chart-options-selector.tsx:466 -#: app/configurator/components/chart-options-selector.tsx:470 +#: app/configurator/components/chart-options-selector.tsx:461 +#: app/configurator/components/chart-options-selector.tsx:465 #: app/configurator/table/table-chart-options.tsx:319 #: app/configurator/table/table-chart-options.tsx:323 #: app/configurator/table/table-chart-options.tsx:343 @@ -491,11 +495,11 @@ msgstr "Filtre" msgid "controls.section.groups" msgstr "Groupes" -#: app/configurator/components/chart-options-selector.tsx:981 +#: app/configurator/components/chart-options-selector.tsx:976 msgid "controls.section.imputation" msgstr "Valeurs manquantes" -#: app/configurator/components/chart-options-selector.tsx:986 +#: app/configurator/components/chart-options-selector.tsx:981 msgid "controls.section.imputation.explanation" msgstr "En raison du type de graphique sélectionné, les valeurs manquantes doivent être remplies. Décidez de la logique d'imputation ou choisissez un autre type de graphique." @@ -504,11 +508,11 @@ msgstr "En raison du type de graphique sélectionné, les valeurs manquantes doi msgid "controls.section.interactive.filters" msgstr "Filtres interactifs" -#: app/configurator/components/chart-options-selector.tsx:392 +#: app/configurator/components/chart-options-selector.tsx:387 msgid "controls.section.show-standard-error" msgstr "Afficher l'erreur type" -#: app/configurator/components/chart-options-selector.tsx:612 +#: app/configurator/components/chart-options-selector.tsx:607 msgid "controls.section.sorting" msgstr "Trier" @@ -534,7 +538,7 @@ msgstr "Ajoutez un titre et une description" msgid "controls.select.chart.type" msgstr "Type de graphique" -#: app/configurator/components/chart-options-selector.tsx:516 +#: app/configurator/components/chart-options-selector.tsx:511 msgid "controls.select.column.layout" msgstr "Mise en forme de la colonne" @@ -576,16 +580,16 @@ msgid "controls.select.dimension" msgstr "Sélectionner une dimension" #: app/configurator/components/chart-options-selector.tsx:224 -#: app/configurator/components/chart-options-selector.tsx:702 -#: app/configurator/components/chart-options-selector.tsx:782 +#: app/configurator/components/chart-options-selector.tsx:697 +#: app/configurator/components/chart-options-selector.tsx:777 msgid "controls.select.measure" msgstr "Sélectionner une variable" -#: app/configurator/components/field.tsx:172 -#: app/configurator/components/field.tsx:269 -#: app/configurator/components/field.tsx:369 -#: app/configurator/components/field.tsx:708 -#: app/configurator/components/field.tsx:880 +#: app/configurator/components/field.tsx:170 +#: app/configurator/components/field.tsx:267 +#: app/configurator/components/field.tsx:367 +#: app/configurator/components/field.tsx:706 +#: app/configurator/components/field.tsx:878 msgid "controls.select.optional" msgstr "" @@ -602,7 +606,7 @@ msgstr "Pour de meilleurs résultats, ne sélectionnez pas plus de 7 valeurs dan msgid "controls.set-values-apply" msgstr "Appliquer les filtres" -#: app/configurator/components/chart-options-selector.tsx:694 +#: app/configurator/components/chart-options-selector.tsx:689 msgid "controls.size" msgstr "Taille" @@ -610,54 +614,54 @@ msgstr "Taille" msgid "controls.sorting.addDimension" msgstr "Ajouter une dimension" -#: app/configurator/components/chart-options-selector.tsx:564 +#: app/configurator/components/chart-options-selector.tsx:559 msgid "controls.sorting.byAuto" msgstr "Auto" -#: app/configurator/components/chart-options-selector.tsx:558 -#: app/configurator/components/chart-options-selector.tsx:568 +#: app/configurator/components/chart-options-selector.tsx:553 +#: app/configurator/components/chart-options-selector.tsx:563 msgid "controls.sorting.byDimensionLabel" msgstr "Nom" -#: app/configurator/components/field-i18n.ts:47 #: app/configurator/components/field-i18n.ts:51 +#: app/configurator/components/field-i18n.ts:55 msgid "controls.sorting.byDimensionLabel.ascending" msgstr "A → Z" -#: app/configurator/components/field-i18n.ts:55 #: app/configurator/components/field-i18n.ts:59 +#: app/configurator/components/field-i18n.ts:63 msgid "controls.sorting.byDimensionLabel.descending" msgstr "Z → A" -#: app/configurator/components/chart-options-selector.tsx:560 +#: app/configurator/components/chart-options-selector.tsx:555 msgid "controls.sorting.byMeasure" msgstr "Mesure" -#: app/configurator/components/field-i18n.ts:79 +#: app/configurator/components/field-i18n.ts:83 msgid "controls.sorting.byMeasure.ascending" msgstr "1 → 9" -#: app/configurator/components/field-i18n.ts:83 +#: app/configurator/components/field-i18n.ts:87 msgid "controls.sorting.byMeasure.descending" msgstr "9 → 1" -#: app/configurator/components/chart-options-selector.tsx:562 +#: app/configurator/components/chart-options-selector.tsx:557 msgid "controls.sorting.byTotalSize" msgstr "Taille totale" -#: app/configurator/components/field-i18n.ts:63 +#: app/configurator/components/field-i18n.ts:67 msgid "controls.sorting.byTotalSize.ascending" msgstr "Croissant" -#: app/configurator/components/field-i18n.ts:75 +#: app/configurator/components/field-i18n.ts:79 msgid "controls.sorting.byTotalSize.largestBottom" msgstr "Décroissant de bas en haut" -#: app/configurator/components/field-i18n.ts:67 +#: app/configurator/components/field-i18n.ts:71 msgid "controls.sorting.byTotalSize.largestFirst" msgstr "Décroissant" -#: app/configurator/components/field-i18n.ts:71 +#: app/configurator/components/field-i18n.ts:75 msgid "controls.sorting.byTotalSize.largestTop" msgstr "Décroissant de haut en bas" @@ -669,7 +673,7 @@ msgstr "Supprimer la dimension de tri" msgid "controls.sorting.selectDimension" msgstr "Sélectionner une dimension…" -#: app/configurator/components/field-i18n.ts:43 +#: app/configurator/components/field-i18n.ts:47 #: app/configurator/table/table-chart-sorting-options.tsx:335 msgid "controls.sorting.sortBy" msgstr "Trier par" @@ -698,7 +702,7 @@ msgstr "Tri" msgid "controls.tableSettings.showSearch" msgstr "Afficher le champ de recherche" -#: app/configurator/components/field-i18n.ts:18 +#: app/configurator/components/field-i18n.ts:22 msgid "controls.title" msgstr "Titre" diff --git a/app/locales/it/messages.po b/app/locales/it/messages.po index ebd80a306..84e84c4f5 100644 --- a/app/locales/it/messages.po +++ b/app/locales/it/messages.po @@ -115,25 +115,25 @@ msgstr "Pubblica questa visualizzazione" msgid "button.share" msgstr "Condividi" -#: app/configurator/components/field-i18n.ts:35 +#: app/configurator/components/field-i18n.ts:39 msgid "chart.map.layers.area" msgstr "Aree" #: app/configurator/components/chart-configurator.tsx:750 -#: app/configurator/components/chart-options-selector.tsx:1055 -#: app/configurator/components/field-i18n.ts:31 +#: app/configurator/components/chart-options-selector.tsx:1050 +#: app/configurator/components/field-i18n.ts:35 msgid "chart.map.layers.base" msgstr "Visualizzazione della mappa" -#: app/configurator/components/chart-options-selector.tsx:1059 +#: app/configurator/components/chart-options-selector.tsx:1054 msgid "chart.map.layers.base.show" msgstr "Mostra mappa del mondo" -#: app/configurator/components/chart-options-selector.tsx:1067 +#: app/configurator/components/chart-options-selector.tsx:1062 msgid "chart.map.layers.base.view.locked" msgstr "Vista bloccata" -#: app/configurator/components/field-i18n.ts:39 +#: app/configurator/components/field-i18n.ts:43 msgid "chart.map.layers.symbol" msgstr "Simboli" @@ -174,10 +174,14 @@ msgstr "Regular" msgid "controls..interactiveFilters.time.defaultSettings" msgstr "Impostazioni predefinite" -#: app/configurator/components/field-i18n.ts:87 +#: app/configurator/components/field-i18n.ts:91 msgid "controls.abbreviations" msgstr "Usa abbreviazioni" +#: app/configurator/components/field-i18n.ts:17 +msgid "controls.animation" +msgstr "Animazione" + #: app/configurator/components/chart-annotator.tsx:70 msgid "controls.annotator.add-description-warning" msgstr "Aggiungi una descrizione" @@ -194,40 +198,40 @@ msgstr "Asse orizzontale" msgid "controls.axis.vertical" msgstr "Asse verticale" -#: app/configurator/components/field-i18n.ts:119 +#: app/configurator/components/field-i18n.ts:123 msgid "controls.chart.type.area" msgstr "Aree" -#: app/configurator/components/field-i18n.ts:111 +#: app/configurator/components/field-i18n.ts:115 msgid "controls.chart.type.bar" msgstr "Barre" -#: app/configurator/components/field-i18n.ts:107 +#: app/configurator/components/field-i18n.ts:111 msgid "controls.chart.type.column" msgstr "Colonne" -#: app/configurator/components/field-i18n.ts:115 +#: app/configurator/components/field-i18n.ts:119 msgid "controls.chart.type.line" msgstr "Linee" -#: app/configurator/components/field-i18n.ts:135 +#: app/configurator/components/field-i18n.ts:139 msgid "controls.chart.type.map" msgstr "Mappa" -#: app/configurator/components/field-i18n.ts:127 +#: app/configurator/components/field-i18n.ts:131 msgid "controls.chart.type.pie" msgstr "Torta" -#: app/configurator/components/field-i18n.ts:123 +#: app/configurator/components/field-i18n.ts:127 msgid "controls.chart.type.scatterplot" msgstr "Scatterplot" -#: app/configurator/components/field-i18n.ts:131 +#: app/configurator/components/field-i18n.ts:135 msgid "controls.chart.type.table" msgstr "Tabella" -#: app/configurator/components/chart-options-selector.tsx:777 -#: app/configurator/components/field-i18n.ts:17 +#: app/configurator/components/chart-options-selector.tsx:772 +#: app/configurator/components/field-i18n.ts:21 msgid "controls.color" msgstr "Colore" @@ -235,7 +239,7 @@ msgstr "Colore" msgid "controls.color.add" msgstr "Aggiungi ..." -#: app/configurator/components/chart-options-selector.tsx:815 +#: app/configurator/components/chart-options-selector.tsx:810 msgid "controls.color.opacity" msgstr "Trasparenza" @@ -256,35 +260,35 @@ msgstr "Ripristina la tavolozza dei colori" msgid "controls.color.palette.sequential" msgstr "Sequenziale" -#: app/configurator/components/chart-options-selector.tsx:902 +#: app/configurator/components/chart-options-selector.tsx:897 msgid "controls.color.scale.discretization.jenks" msgstr "Jenks (interruzioni naturali)" -#: app/configurator/components/chart-options-selector.tsx:895 +#: app/configurator/components/chart-options-selector.tsx:890 msgid "controls.color.scale.discretization.quantiles" msgstr "Quantili (distribuzione omogenea dei valori)" -#: app/configurator/components/chart-options-selector.tsx:888 +#: app/configurator/components/chart-options-selector.tsx:883 msgid "controls.color.scale.discretization.quantize" msgstr "Intervalli uguali" -#: app/configurator/components/chart-options-selector.tsx:880 +#: app/configurator/components/chart-options-selector.tsx:875 msgid "controls.color.scale.interpolation" msgstr "Interpolazione" -#: app/configurator/components/chart-options-selector.tsx:912 +#: app/configurator/components/chart-options-selector.tsx:907 msgid "controls.color.scale.number.of.classes" msgstr "Numero di classi" -#: app/configurator/components/chart-options-selector.tsx:852 +#: app/configurator/components/chart-options-selector.tsx:847 msgid "controls.color.scale.type.continuous" msgstr "Continuo" -#: app/configurator/components/chart-options-selector.tsx:863 +#: app/configurator/components/chart-options-selector.tsx:858 msgid "controls.color.scale.type.discrete" msgstr "Discreto" -#: app/configurator/components/chart-options-selector.tsx:805 +#: app/configurator/components/chart-options-selector.tsx:800 msgid "controls.color.select" msgstr "Seleziona un colore" @@ -292,23 +296,23 @@ msgstr "Seleziona un colore" msgid "controls.colorpicker.open" msgstr "Apri il selettore di colore" -#: app/configurator/components/field-i18n.ts:27 +#: app/configurator/components/field-i18n.ts:31 msgid "controls.column.grouped" msgstr "raggruppate" -#: app/configurator/components/field-i18n.ts:23 +#: app/configurator/components/field-i18n.ts:27 msgid "controls.column.stacked" msgstr "impilate" -#: app/configurator/components/field-i18n.ts:19 +#: app/configurator/components/field-i18n.ts:23 msgid "controls.description" msgstr "Descrizione" #: app/charts/shared/chart-data-filters.tsx:249 #: app/charts/shared/chart-data-filters.tsx:296 -#: app/configurator/components/field.tsx:167 -#: app/configurator/components/field.tsx:264 -#: app/configurator/components/field.tsx:364 +#: app/configurator/components/field.tsx:165 +#: app/configurator/components/field.tsx:262 +#: app/configurator/components/field.tsx:362 msgid "controls.dimensionvalue.none" msgstr "Nessun filtro" @@ -354,23 +358,23 @@ msgstr "intervallo di tempo" msgid "controls.groups.empty-help" msgstr "Trascina qui le colonne per creare gruppi." -#: app/configurator/components/field-i18n.ts:91 +#: app/configurator/components/field-i18n.ts:95 msgid "controls.imputation" msgstr "Tipo di imputazione" -#: app/configurator/components/chart-options-selector.tsx:947 -#: app/configurator/components/field-i18n.ts:103 +#: app/configurator/components/chart-options-selector.tsx:942 +#: app/configurator/components/field-i18n.ts:107 msgid "controls.imputation.type.linear" msgstr "Interpolazione lineare" -#: app/configurator/components/chart-options-selector.tsx:940 -#: app/configurator/components/chart-options-selector.tsx:952 -#: app/configurator/components/field-i18n.ts:95 +#: app/configurator/components/chart-options-selector.tsx:935 +#: app/configurator/components/chart-options-selector.tsx:947 +#: app/configurator/components/field-i18n.ts:99 msgid "controls.imputation.type.none" msgstr "-" -#: app/configurator/components/chart-options-selector.tsx:942 -#: app/configurator/components/field-i18n.ts:99 +#: app/configurator/components/chart-options-selector.tsx:937 +#: app/configurator/components/field-i18n.ts:103 msgid "controls.imputation.type.zeros" msgstr "Zeri" @@ -387,19 +391,19 @@ msgstr "Nessuna dimensione temporale disponibile!" msgid "controls.interactiveFilters.time.toggleTimeFilter" msgstr "Mostra i filtri temporali" -#: app/configurator/components/field-i18n.ts:139 +#: app/configurator/components/field-i18n.ts:143 msgid "controls.language.english" msgstr "Inglese" -#: app/configurator/components/field-i18n.ts:147 +#: app/configurator/components/field-i18n.ts:151 msgid "controls.language.french" msgstr "Francese" -#: app/configurator/components/field-i18n.ts:143 +#: app/configurator/components/field-i18n.ts:147 msgid "controls.language.german" msgstr "Tedesco" -#: app/configurator/components/field-i18n.ts:151 +#: app/configurator/components/field-i18n.ts:155 msgid "controls.language.italian" msgstr "Italiano" @@ -432,8 +436,8 @@ msgstr "Torna alle impostazioni generali" msgid "controls.nav.back-to-preview" msgstr "Torna all'anteprima" -#: app/configurator/components/field.tsx:703 -#: app/configurator/components/field.tsx:875 +#: app/configurator/components/field.tsx:701 +#: app/configurator/components/field.tsx:873 #: app/configurator/interactive-filters/interactive-filters-config-options.tsx:242 msgid "controls.none" msgstr "Nessuno" @@ -446,7 +450,7 @@ msgstr "Attivo" msgid "controls.option.isNotActive" msgstr "Inattivo" -#: app/configurator/components/chart-options-selector.tsx:845 +#: app/configurator/components/chart-options-selector.tsx:840 msgid "controls.scale.type" msgstr "Tipo di scala" @@ -454,7 +458,7 @@ msgstr "Tipo di scala" msgid "controls.search.clear" msgstr "Cancella la ricerca" -#: app/configurator/components/chart-options-selector.tsx:383 +#: app/configurator/components/chart-options-selector.tsx:378 msgid "controls.section.additional-information" msgstr "Informazioni aggiuntive" @@ -478,8 +482,8 @@ msgstr "Filtri" msgid "controls.section.description" msgstr "Titolo e descrizione" -#: app/configurator/components/chart-options-selector.tsx:466 -#: app/configurator/components/chart-options-selector.tsx:470 +#: app/configurator/components/chart-options-selector.tsx:461 +#: app/configurator/components/chart-options-selector.tsx:465 #: app/configurator/table/table-chart-options.tsx:319 #: app/configurator/table/table-chart-options.tsx:323 #: app/configurator/table/table-chart-options.tsx:343 @@ -491,11 +495,11 @@ msgstr "Filtro" msgid "controls.section.groups" msgstr "Gruppi" -#: app/configurator/components/chart-options-selector.tsx:981 +#: app/configurator/components/chart-options-selector.tsx:976 msgid "controls.section.imputation" msgstr "Valori mancanti" -#: app/configurator/components/chart-options-selector.tsx:986 +#: app/configurator/components/chart-options-selector.tsx:981 msgid "controls.section.imputation.explanation" msgstr "Per questo tipo di grafico, i valori di sostituzione devono essere assegnati ai valori mancanti. Decidi la logica di imputazione o passa a un altro tipo di grafico." @@ -504,11 +508,11 @@ msgstr "Per questo tipo di grafico, i valori di sostituzione devono essere asseg msgid "controls.section.interactive.filters" msgstr "Filtri interattivi" -#: app/configurator/components/chart-options-selector.tsx:392 +#: app/configurator/components/chart-options-selector.tsx:387 msgid "controls.section.show-standard-error" msgstr "Mostra l'errore standard" -#: app/configurator/components/chart-options-selector.tsx:612 +#: app/configurator/components/chart-options-selector.tsx:607 msgid "controls.section.sorting" msgstr "Ordina" @@ -534,7 +538,7 @@ msgstr "Aggiungi un titolo o una descrizione" msgid "controls.select.chart.type" msgstr "Tipo di grafico" -#: app/configurator/components/chart-options-selector.tsx:516 +#: app/configurator/components/chart-options-selector.tsx:511 msgid "controls.select.column.layout" msgstr "Layout a colonne" @@ -576,16 +580,16 @@ msgid "controls.select.dimension" msgstr "Seleziona una dimensione" #: app/configurator/components/chart-options-selector.tsx:224 -#: app/configurator/components/chart-options-selector.tsx:702 -#: app/configurator/components/chart-options-selector.tsx:782 +#: app/configurator/components/chart-options-selector.tsx:697 +#: app/configurator/components/chart-options-selector.tsx:777 msgid "controls.select.measure" msgstr "Seleziona una misura" -#: app/configurator/components/field.tsx:172 -#: app/configurator/components/field.tsx:269 -#: app/configurator/components/field.tsx:369 -#: app/configurator/components/field.tsx:708 -#: app/configurator/components/field.tsx:880 +#: app/configurator/components/field.tsx:170 +#: app/configurator/components/field.tsx:267 +#: app/configurator/components/field.tsx:367 +#: app/configurator/components/field.tsx:706 +#: app/configurator/components/field.tsx:878 msgid "controls.select.optional" msgstr "" @@ -602,7 +606,7 @@ msgstr "Pour de meilleurs résultats, ne sélectionnez pas plus de 7 valeurs dan msgid "controls.set-values-apply" msgstr "Appliquer les filtres" -#: app/configurator/components/chart-options-selector.tsx:694 +#: app/configurator/components/chart-options-selector.tsx:689 msgid "controls.size" msgstr "Grandezza" @@ -610,54 +614,54 @@ msgstr "Grandezza" msgid "controls.sorting.addDimension" msgstr "Aggiungi una dimensione" -#: app/configurator/components/chart-options-selector.tsx:564 +#: app/configurator/components/chart-options-selector.tsx:559 msgid "controls.sorting.byAuto" msgstr "Automatico" -#: app/configurator/components/chart-options-selector.tsx:558 -#: app/configurator/components/chart-options-selector.tsx:568 +#: app/configurator/components/chart-options-selector.tsx:553 +#: app/configurator/components/chart-options-selector.tsx:563 msgid "controls.sorting.byDimensionLabel" msgstr "Nome" -#: app/configurator/components/field-i18n.ts:47 #: app/configurator/components/field-i18n.ts:51 +#: app/configurator/components/field-i18n.ts:55 msgid "controls.sorting.byDimensionLabel.ascending" msgstr "A → Z" -#: app/configurator/components/field-i18n.ts:55 #: app/configurator/components/field-i18n.ts:59 +#: app/configurator/components/field-i18n.ts:63 msgid "controls.sorting.byDimensionLabel.descending" msgstr "Z → A" -#: app/configurator/components/chart-options-selector.tsx:560 +#: app/configurator/components/chart-options-selector.tsx:555 msgid "controls.sorting.byMeasure" msgstr "Misura" -#: app/configurator/components/field-i18n.ts:79 +#: app/configurator/components/field-i18n.ts:83 msgid "controls.sorting.byMeasure.ascending" msgstr "1 → 9" -#: app/configurator/components/field-i18n.ts:83 +#: app/configurator/components/field-i18n.ts:87 msgid "controls.sorting.byMeasure.descending" msgstr "9 → 1" -#: app/configurator/components/chart-options-selector.tsx:562 +#: app/configurator/components/chart-options-selector.tsx:557 msgid "controls.sorting.byTotalSize" msgstr "Grandezza totale" -#: app/configurator/components/field-i18n.ts:63 +#: app/configurator/components/field-i18n.ts:67 msgid "controls.sorting.byTotalSize.ascending" msgstr "Il più grande per ultimo" -#: app/configurator/components/field-i18n.ts:75 +#: app/configurator/components/field-i18n.ts:79 msgid "controls.sorting.byTotalSize.largestBottom" msgstr "Il più grande sotto" -#: app/configurator/components/field-i18n.ts:67 +#: app/configurator/components/field-i18n.ts:71 msgid "controls.sorting.byTotalSize.largestFirst" msgstr "Il più grande per primo" -#: app/configurator/components/field-i18n.ts:71 +#: app/configurator/components/field-i18n.ts:75 msgid "controls.sorting.byTotalSize.largestTop" msgstr "Il più grande sopra" @@ -669,7 +673,7 @@ msgstr "Rimuovi l'ordinamento" msgid "controls.sorting.selectDimension" msgstr "Seleziona una dimensione ..." -#: app/configurator/components/field-i18n.ts:43 +#: app/configurator/components/field-i18n.ts:47 #: app/configurator/table/table-chart-sorting-options.tsx:335 msgid "controls.sorting.sortBy" msgstr "Ordina per" @@ -698,7 +702,7 @@ msgstr "Ordinamento" msgid "controls.tableSettings.showSearch" msgstr "Mostra il campo di ricerca" -#: app/configurator/components/field-i18n.ts:18 +#: app/configurator/components/field-i18n.ts:22 msgid "controls.title" msgstr "Titolo" diff --git a/app/test/__fixtures/config/int/bathing-water-quality-hierarchie.json b/app/test/__fixtures/config/int/bathing-water-quality-hierarchie.json index b4b119daa..ad63b7c9f 100644 --- a/app/test/__fixtures/config/int/bathing-water-quality-hierarchie.json +++ b/app/test/__fixtures/config/int/bathing-water-quality-hierarchie.json @@ -43,7 +43,7 @@ "value": "E.coli" } }, - "version": "1.3.0", + "version": "1.4.0", "chartType": "column", "interactiveFiltersConfig": { "legend": { diff --git a/app/test/__fixtures/config/prod/line-1.json b/app/test/__fixtures/config/prod/line-1.json index 3626ee28c..203101c45 100644 --- a/app/test/__fixtures/config/prod/line-1.json +++ b/app/test/__fixtures/config/prod/line-1.json @@ -11,7 +11,7 @@ "url": "https://lindas.admin.ch/query" }, "chartConfig": { - "version": "1.3.0", + "version": "1.4.0", "fields": { "x": { "componentIri": "http://environment.ld.admin.ch/foen/px/0703010000_105/dimension/0" diff --git a/app/utils/chart-config/versioning.ts b/app/utils/chart-config/versioning.ts index 9f0230ab8..d6f08437c 100644 --- a/app/utils/chart-config/versioning.ts +++ b/app/utils/chart-config/versioning.ts @@ -1,6 +1,6 @@ import produce from "immer"; -export const CHART_CONFIG_VERSION = "1.3.0"; +export const CHART_CONFIG_VERSION = "1.4.0"; type Migration = { description: string; @@ -473,6 +473,34 @@ const migrations: Migration[] = [ }); } + return newConfig; + }, + }, + { + description: `ALL + fields { + + animation { + componentIri + } + }`, + from: "1.3.0", + to: "1.4.0", + up: (config: any) => { + const newConfig = { ...config, version: "1.4.0" }; + + return newConfig; + }, + down: (config: any) => { + let newConfig = { ...config, version: "1.3.0" }; + + const { fields } = config; + + if (fields.animation) { + newConfig = produce(newConfig, (draft: any) => { + delete draft.fields.animation; + }); + } + return newConfig; }, }, From e7eb30347e074be1b54c1f547495212f07c681e7 Mon Sep 17 00:00:00 2001 From: Bartosz Prusinowski Date: Fri, 20 Jan 2023 14:42:12 +0100 Subject: [PATCH 06/31] feat: Handle animation field changes --- app/configurator/config-types.ts | 10 ++++ app/configurator/configurator-state.tsx | 62 +++++++++++++++++-------- 2 files changed, 53 insertions(+), 19 deletions(-) diff --git a/app/configurator/config-types.ts b/app/configurator/config-types.ts index 4d9e087b0..463bdd22c 100644 --- a/app/configurator/config-types.ts +++ b/app/configurator/config-types.ts @@ -635,6 +635,16 @@ export const isSegmentInConfig = ( return !isTableConfig(chartConfig) && !isMapConfig(chartConfig); }; +export const isAnimationInConfig = ( + chartConfig: ChartConfig +): chartConfig is ColumnConfig | ScatterPlotConfig | PieConfig => { + return ( + chartConfig.chartType === "column" || + chartConfig.chartType === "scatterplot" || + chartConfig.chartType === "pie" + ); +}; + export const isColorFieldInConfig = ( chartConfig: ChartConfig ): chartConfig is MapConfig => { diff --git a/app/configurator/configurator-state.tsx b/app/configurator/configurator-state.tsx index 650b386e3..898369813 100644 --- a/app/configurator/configurator-state.tsx +++ b/app/configurator/configurator-state.tsx @@ -31,10 +31,21 @@ import { import { DEFAULT_FIXED_COLOR_FIELD } from "@/charts/map/constants"; import { mapValueIrisToColor } from "@/configurator/components/ui-helpers"; import { + ChartConfig, + ChartType, + ConfiguratorState, ConfiguratorStateConfiguringChart, + ConfiguratorStateSelectingDataSet, DataSource, + decodeConfiguratorState, + Filters, + FilterValue, + FilterValueMultiValues, GenericField, + GenericFields, ImputationType, + InteractiveFiltersConfig, + isAnimationInConfig, isAreaConfig, isColorFieldInConfig, isColumnConfig, @@ -44,26 +55,14 @@ import { MapFields, NumericalColorField, } from "@/configurator/config-types"; -import { - ChartConfig, - ChartType, - ConfiguratorState, - ConfiguratorStateSelectingDataSet, - decodeConfiguratorState, - Filters, - FilterValue, - FilterValueMultiValues, - GenericFields, - InteractiveFiltersConfig, -} from "@/configurator/config-types"; import { FIELD_VALUE_NONE } from "@/configurator/constants"; import { canDimensionBeMultiFiltered, DimensionValue, - isOrdinalMeasure, isGeoDimension, isGeoShapesDimension, isNumericalMeasure, + isOrdinalMeasure, isTemporalDimension, } from "@/domain/data"; import { DEFAULT_DATA_SOURCE } from "@/domain/datasource"; @@ -780,15 +779,23 @@ export const handleChartFieldChanged = ( const component = [...dimensions, ...measures].find( (dim) => dim.iri === componentIri ); - const selectedValues = actionSelectedValues - ? actionSelectedValues - : component?.values || []; + const selectedValues = actionSelectedValues ?? component?.values ?? []; + // The field was not defined before if (!f) { // FIXME? - // optionalFields = ['segment', 'areaLayer', 'symbolLayer'], + // optionalFields = ['animation', 'segment', 'areaLayer', 'symbolLayer'], // should be reflected in chart encodings - if (field === "segment") { + if (field === "animation" && isAnimationInConfig(draft.chartConfig)) { + draft.chartConfig.fields.animation = { + componentIri, + }; + + if (draft.chartConfig.interactiveFiltersConfig) { + draft.chartConfig.interactiveFiltersConfig.timeSlider.componentIri = + componentIri; + } + } else if (field === "segment") { // FIXME: This should be more chart specific // (no "stacked" for scatterplots for instance) if (isSegmentInConfig(draft.chartConfig)) { @@ -836,7 +843,16 @@ export const handleChartFieldChanged = ( } } else { // The field is being updated - if ( + if (field === "animation" && isAnimationInConfig(draft.chartConfig)) { + draft.chartConfig.fields.animation = { + componentIri, + }; + + if (draft.chartConfig.interactiveFiltersConfig) { + draft.chartConfig.interactiveFiltersConfig.timeSlider.componentIri = + componentIri; + } + } else if ( field === "segment" && "segment" in draft.chartConfig.fields && draft.chartConfig.fields.segment && @@ -1143,6 +1159,14 @@ const reducer: Reducer = ( if (draft.state === "CONFIGURING_CHART") { delete (draft.chartConfig.fields as GenericFields)[action.value.field]; + if ( + action.value.field === "animation" && + draft.chartConfig.interactiveFiltersConfig + ) { + draft.chartConfig.interactiveFiltersConfig.timeSlider.componentIri = + ""; + } + const metadata = getCachedCubeMetadataWithComponentValues( draft, action.value.locale From c63e799efdf512c5e52b3e761af543cde773177c Mon Sep 17 00:00:00 2001 From: Bartosz Prusinowski Date: Fri, 20 Jan 2023 14:51:23 +0100 Subject: [PATCH 07/31] chore: Remove TimeSlider UI elements --- .../components/chart-annotations-selector.tsx | 1 - .../interactive-filters-config-options.tsx | 106 +----------------- .../interactive-filters-configurator.tsx | 31 +---- 3 files changed, 6 insertions(+), 132 deletions(-) diff --git a/app/configurator/components/chart-annotations-selector.tsx b/app/configurator/components/chart-annotations-selector.tsx index fbc9801f9..ff8b1818d 100644 --- a/app/configurator/components/chart-annotations-selector.tsx +++ b/app/configurator/components/chart-annotations-selector.tsx @@ -74,7 +74,6 @@ export const ChartAnnotationsSelector = ({ case "dataFilters": case "legend": case "timeRange": - case "timeSlider": return true; default: diff --git a/app/configurator/interactive-filters/interactive-filters-config-options.tsx b/app/configurator/interactive-filters/interactive-filters-config-options.tsx index 13a52b566..b67004f02 100644 --- a/app/configurator/interactive-filters/interactive-filters-config-options.tsx +++ b/app/configurator/interactive-filters/interactive-filters-config-options.tsx @@ -1,11 +1,10 @@ import { t, Trans } from "@lingui/macro"; import { Box } from "@mui/material"; import { extent } from "d3"; -import get from "lodash/get"; -import { useEffect, useMemo, useRef } from "react"; +import { useEffect, useRef } from "react"; import { getFieldComponentIri } from "@/charts"; -import { Checkbox, Select } from "@/components/form"; +import { Checkbox } from "@/components/form"; import { Loading } from "@/components/hint"; import { ControlSection, @@ -15,22 +14,12 @@ import { import { parseDate } from "@/configurator/components/ui-helpers"; import { ConfiguratorStateConfiguringChart } from "@/configurator/config-types"; import { EditorBrush } from "@/configurator/interactive-filters/editor-time-brush"; -import { - useInteractiveTimeRangeFiltersToggle, - useInteractiveTimeSliderFiltersSelect, -} from "@/configurator/interactive-filters/interactive-filters-config-state"; +import { useInteractiveTimeRangeFiltersToggle } from "@/configurator/interactive-filters/interactive-filters-config-state"; import { InteractiveFilterType } from "@/configurator/interactive-filters/interactive-filters-configurator"; import { useFormatFullDateAuto } from "@/formatters"; -import { - TemporalDimension, - useDataCubeMetadataWithComponentValuesQuery, -} from "@/graphql/query-hooks"; +import { useDataCubeMetadataWithComponentValuesQuery } from "@/graphql/query-hooks"; import { useLocale } from "@/locales/use-locale"; -import { FIELD_VALUE_NONE } from "../constants"; - -import { getTimeSliderFilterDimensions } from "./helpers"; - export const InteractiveFiltersOptions = ({ state, }: { @@ -73,17 +62,6 @@ export const InteractiveFiltersOptions = ({ ); - } else if (activeField === "timeSlider") { - return ( - - - Animation - - - - - - ); } } @@ -191,79 +169,3 @@ const InteractiveTimeRangeFilterOptions = ({ return ; } }; - -const InteractiveTimeSliderFilterOptions = ({ - state: { chartConfig, dataSet, dataSource }, -}: { - state: ConfiguratorStateConfiguringChart; -}) => { - const locale = useLocale(); - const [{ data }] = useDataCubeMetadataWithComponentValuesQuery({ - variables: { - iri: dataSet, - sourceType: dataSource.type, - sourceUrl: dataSource.url, - locale, - }, - }); - - const value = - get(chartConfig, "interactiveFiltersConfig.timeSlider.componentIri") || - FIELD_VALUE_NONE; - - if (data?.dataCubeByIri) { - const timeSliderDimensions = getTimeSliderFilterDimensions({ - chartConfig, - dataCubeByIri: data.dataCubeByIri, - }); - - return ( - - ); - } else { - return ; - } -}; - -const InteractiveTimeSliderFilterOptionsSelect = ({ - dimensions, - value, -}: { - dimensions: TemporalDimension[]; - value: string; -}) => { - const fieldProps = useInteractiveTimeSliderFiltersSelect(); - const options = useMemo(() => { - return [ - { - label: t({ - id: "controls.none", - message: "None", - }), - value: FIELD_VALUE_NONE, - isNoneValue: true, - }, - ...dimensions.map((d) => ({ - label: d.label, - value: d.iri, - })), - ]; - }, [dimensions]); - - return ( -