diff --git a/web/src/components/dashboards/PanelSchemaRenderer.vue b/web/src/components/dashboards/PanelSchemaRenderer.vue
index 07219bff47..1f2d45d912 100644
--- a/web/src/components/dashboards/PanelSchemaRenderer.vue
+++ b/web/src/components/dashboards/PanelSchemaRenderer.vue
@@ -590,7 +590,7 @@ export default defineComponent({
variablesData.value.values.forEach((variable: any) => {
if (variable.type != "dynamic_filters") {
- drilldownVariables["var-" + variable.name] = variable.value;
+ drilldownVariables[variable.name] = variable.value;
}
});
@@ -653,11 +653,11 @@ export default defineComponent({
pos > -1
? window.location.origin +
window.location.pathname.slice(0, pos) +
- "/web/"
+ "/web"
: window.location.origin;
// always, go to view dashboard page
- currentUrl += "dashboards/view?";
+ currentUrl += "/dashboards/view?";
// if pass all variables in url
currentUrl += drilldownData.data.passAllVariables
@@ -670,7 +670,8 @@ export default defineComponent({
drilldownData.data.variables.forEach((variable: any) => {
if (variable?.name?.trim() && variable?.value?.trim()) {
url.searchParams.set(
- replacePlaceholders(variable.name, drilldownVariables),
+ "var-" +
+ replacePlaceholders(variable.name, drilldownVariables),
replacePlaceholders(variable.value, drilldownVariables)
);
}
@@ -693,7 +694,8 @@ export default defineComponent({
drilldownData.data.variables.forEach((variable: any) => {
if (variable?.name?.trim() && variable?.value?.trim()) {
oldParams[
- replacePlaceholders(variable.name, drilldownVariables)
+ "var-" +
+ replacePlaceholders(variable.name, drilldownVariables)
] = replacePlaceholders(variable.value, drilldownVariables);
}
});
diff --git a/web/src/components/dashboards/VariablesValueSelector.vue b/web/src/components/dashboards/VariablesValueSelector.vue
index 850265cbaf..cc18d60f96 100644
--- a/web/src/components/dashboards/VariablesValueSelector.vue
+++ b/web/src/components/dashboards/VariablesValueSelector.vue
@@ -298,6 +298,9 @@ export default defineComponent({
const changeInitialVariableValues = async (
newInitialVariableValues: any
) => {
+ // reject all promises
+ rejectAllPromises();
+
// NOTE: need to re-initialize variables data
resetVariablesData();
@@ -307,9 +310,6 @@ export default defineComponent({
// make list of variables using variables config list
initializeVariablesData();
- // reject all promises
- rejectAllPromises();
-
// load all variables
loadAllVariablesData();
};
diff --git a/web/src/components/dashboards/addPanel/CommonAutoComplete.vue b/web/src/components/dashboards/addPanel/CommonAutoComplete.vue
new file mode 100644
index 0000000000..e46c9d7171
--- /dev/null
+++ b/web/src/components/dashboards/addPanel/CommonAutoComplete.vue
@@ -0,0 +1,145 @@
+
+