From a8800889c99444c8713dbb68444ca6ff10da91ca Mon Sep 17 00:00:00 2001 From: Mario Bielert Date: Fri, 5 Apr 2024 11:13:31 +0200 Subject: [PATCH] Adds LEGACY_CHARTS configuration to display a link into the past --- src/MetricQWebView.js | 1 + src/configuration.js | 3 +++ src/store/index.js | 11 ++++++++- src/ui/export-popup.vue | 4 +++- src/ui/legacy-link-button.vue | 44 +++++++++++++++++++++++++++++++++++ 5 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 src/ui/legacy-link-button.vue diff --git a/src/MetricQWebView.js b/src/MetricQWebView.js index b79c241..b9767c4 100644 --- a/src/MetricQWebView.js +++ b/src/MetricQWebView.js @@ -7,6 +7,7 @@ import * as Error from '@/errors' export function createGlobalMetricQWebview (paramParentEle, paramMetricNamesArr, paramStartTime, paramStopTime, store, metricqBackendConfig) { window.MetricQWebView = new MetricQWebView(paramParentEle, paramMetricNamesArr, paramStartTime, paramStopTime, store, metricqBackendConfig) + store.commit('setLegacyLink', metricqBackendConfig.legacyCharts) store.commit('setIsWebviewLoaded', true) } diff --git a/src/configuration.js b/src/configuration.js index 1578c6c..5de6465 100644 --- a/src/configuration.js +++ b/src/configuration.js @@ -4,12 +4,14 @@ import jquery from 'jquery' const METRICQ_BACKEND = process.env.VUE_APP_METRICQ_BACKEND const [METRICQ_BACKEND_USER, METRICQ_BACKEND_PASSWORD] = process.env.VUE_APP_METRICQ_BACKEND_AUTH === undefined ? [undefined, undefined] : process.env.VUE_APP_METRICQ_BACKEND_AUTH.split(':') +const LEGACY_CHARTS = process.env.VUE_APP_LEGACY_CHARTS class MetricQBackendConfig { constructor () { this.backend = METRICQ_BACKEND this.user = METRICQ_BACKEND_USER this.password = METRICQ_BACKEND_PASSWORD + this.legacyCharts = LEGACY_CHARTS } } @@ -24,6 +26,7 @@ export async function getMetricQBackendConfig () { config.backend = json.backend config.user = json.user config.password = json.password + config.legacyCharts = json.legacyCharts } catch (exc) { console.log('Could not load backend config.') console.log(exc) diff --git a/src/store/index.js b/src/store/index.js index 6617924..5643dec 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -28,7 +28,8 @@ export default new Vuex.Store({ raw: 0 }, toastConfiguration: new ToastConfig(), - isWebviewLoaded: false + isWebviewLoaded: false, + legacyLink: undefined }, mutations: { setStartTime (state, time) { @@ -75,9 +76,17 @@ export default new Vuex.Store({ }, setIsWebviewLoaded (state, newValue) { state.isWebviewLoaded = newValue + }, + setLegacyLink (state, newValue) { + state.legacyLink = newValue } }, actions: {}, + getters: { + getLegacyLink: (state) => () => { + return state.legacyLink + } + }, modules: { metrics }, diff --git a/src/ui/export-popup.vue b/src/ui/export-popup.vue index c4151d3..4eae51d 100644 --- a/src/ui/export-popup.vue +++ b/src/ui/export-popup.vue @@ -80,6 +80,7 @@