diff --git a/flexmeasures/data/models/time_series.py b/flexmeasures/data/models/time_series.py
index 1fb19dc1b..15c81ead3 100644
--- a/flexmeasures/data/models/time_series.py
+++ b/flexmeasures/data/models/time_series.py
@@ -3,6 +3,7 @@
import json
from altair.utils.html import spec_to_html
+from flask import current_app
from sqlalchemy.ext.declarative import declared_attr
from sqlalchemy.orm import Query, Session
import timely_beliefs as tb
@@ -140,9 +141,13 @@ def chart(
return spec_to_html(
chart_specs,
"vega-lite",
- vega_version="5",
- vegaembed_version="6.17.0",
- vegalite_version="5.0.0",
+ vega_version=current_app.config.get("FLEXMEASURES_JS_VERSIONS").vega,
+ vegaembed_version=current_app.config.get(
+ "FLEXMEASURES_JS_VERSIONS"
+ ).vegaembed,
+ vegalite_version=current_app.config.get(
+ "FLEXMEASURES_JS_VERSIONS"
+ ).vegalite,
)
return json.dumps(chart_specs)
diff --git a/flexmeasures/ui/templates/views/sensors.html b/flexmeasures/ui/templates/views/sensors.html
index d9f5d00c6..e395c4cf2 100644
--- a/flexmeasures/ui/templates/views/sensors.html
+++ b/flexmeasures/ui/templates/views/sensors.html
@@ -13,9 +13,9 @@
-
-
-
+
+
+
diff --git a/flexmeasures/ui/utils/view_utils.py b/flexmeasures/ui/utils/view_utils.py
index 6ee924e06..c14ad5f13 100644
--- a/flexmeasures/ui/utils/view_utils.py
+++ b/flexmeasures/ui/utils/view_utils.py
@@ -84,6 +84,7 @@ def render_flexmeasures_template(html_filename: str, **variables):
variables["user_name"] = (
current_user.is_authenticated and current_user.username or ""
)
+ variables["js_versions"] = current_app.config.get("FLEXMEASURES_JS_VERSIONS")
return render_template(html_filename, **variables)
diff --git a/flexmeasures/utils/config_defaults.py b/flexmeasures/utils/config_defaults.py
index c84ebe111..ad4bbfd5c 100644
--- a/flexmeasures/utils/config_defaults.py
+++ b/flexmeasures/utils/config_defaults.py
@@ -98,6 +98,12 @@ class Config(object):
FLEXMEASURES_REDIS_PORT: int = 6379
FLEXMEASURES_REDIS_DB_NR: int = 0 # Redis per default has 16 databases, [0-15]
FLEXMEASURES_REDIS_PASSWORD: Optional[str] = None
+ FLEXMEASURES_JS_VERSIONS: dict = dict(
+ vega="5",
+ vegaembed="6.17.0",
+ vegalite="5.0.0",
+ # todo: expand with other js versions used in FlexMeasures
+ )
# names of settings which cannot be None