import React from "react"; import { pick } from "lodash"; import HelpTrigger from "@/components/HelpTrigger"; import Link from "@/components/Link"; import { Renderer as VisRenderer, Editor as VisEditor, updateVisualizationsSettings } from "@redash/viz/lib"; import { clientConfig } from "@/services/auth"; import countriesDataUrl from "@redash/viz/lib/visualizations/choropleth/maps/countries.geo.json"; import subdivJapanDataUrl from "@redash/viz/lib/visualizations/choropleth/maps/japan.prefectures.geo.json"; function wrapComponentWithSettings(WrappedComponent) { return function VisualizationComponent(props) { updateVisualizationsSettings({ HelpTriggerComponent: HelpTrigger, LinkComponent: Link, choroplethAvailableMaps: { countries: { name: "Countries", url: countriesDataUrl, }, subdiv_japan: { name: "Japan/Prefectures", url: subdivJapanDataUrl, }, }, ...pick(clientConfig, [ "dateFormat", "dateTimeFormat", "integerFormat", "floatFormat", "booleanValues", "tableCellMaxJSONSize", "allowCustomJSVisualizations", "hidePlotlyModeBar", ]), }); return ; }; } export const Renderer = wrapComponentWithSettings(VisRenderer); export const Editor = wrapComponentWithSettings(VisEditor);