add selected filter to list of active filters

This commit is contained in:
Peter Olu
2022-05-16 00:21:46 +01:00
parent 8ab1ae3641
commit 866422e8b7

View File

@@ -25,7 +25,9 @@ limitations under the License. -->
> >
<el-button <el-button
type="success" type="success"
:class="[queriedFilter === filter.name ? 'active-filter' : '']" :class="[
listOfActiveFilters.includes(filter.name) ? 'active-filter' : '',
]"
class="filter-btn mx-3" class="filter-btn mx-3"
@click="setFilter(filter.name)" @click="setFilter(filter.name)"
> >
@@ -153,7 +155,7 @@ const appStore = useAppStoreWithOut();
const selectorStore = useSelectorStore(); const selectorStore = useSelectorStore();
const dashboardStore = useDashboardStore(); const dashboardStore = useDashboardStore();
const traceStore = useTraceStore(); const traceStore = useTraceStore();
const listOfActiveFilters = ref<string[]>([]);
const arrayOfFilters = ref<filtersObject[]>([ const arrayOfFilters = ref<filtersObject[]>([
{ {
name: "service", name: "service",
@@ -260,6 +262,14 @@ async function getInstances(id?: string) {
} }
state.instance = traceStore.instances[0]; state.instance = traceStore.instances[0];
} }
function addToActiveFilterList() {
listOfActiveFilters.value.push(activeFilter.value);
}
function removeFromActiveFilters() {
listOfActiveFilters.value = listOfActiveFilters.value.filter(
(filter) => filter !== activeFilter.value
);
}
function cancelSearch() { function cancelSearch() {
switch (activeFilter.value) { switch (activeFilter.value) {
case "status": case "status":
@@ -288,6 +298,7 @@ function cancelSearch() {
traceId.value = ""; traceId.value = "";
break; break;
} }
removeFromActiveFilters();
activeFilter.value = ""; activeFilter.value = "";
traceStore.activeFilter = ""; traceStore.activeFilter = "";
init(); init();
@@ -297,27 +308,41 @@ function handleActiveFilterState() {
case "traceId": case "traceId":
if (!traceId.value.length) return; if (!traceId.value.length) return;
traceStore.setActiveFilter(activeFilter.value); traceStore.setActiveFilter(activeFilter.value);
addToActiveFilterList();
break; break;
case "tags": case "tags":
if (!tagsList.value.length) return; if (!tagsList.value.length) return;
traceStore.setActiveFilter(activeFilter.value); traceStore.setActiveFilter(activeFilter.value);
addToActiveFilterList();
break; break;
case "duration": case "duration":
if (!minTraceDuration.value.length || !maxTraceDuration.value.length) if (!minTraceDuration.value.length || !maxTraceDuration.value.length)
return; return;
traceStore.setActiveFilter(activeFilter.value); traceStore.setActiveFilter(activeFilter.value);
addToActiveFilterList();
break; break;
case "service": case "service":
traceStore.setActiveFilter(activeFilter.value); traceStore.setActiveFilter(activeFilter.value);
addToActiveFilterList();
break; break;
case "instance": case "instance":
traceStore.setActiveFilter(activeFilter.value); traceStore.setActiveFilter(activeFilter.value);
addToActiveFilterList();
break; break;
case "status": case "status":
traceStore.setActiveFilter(activeFilter.value); traceStore.setActiveFilter(activeFilter.value);
addToActiveFilterList();
break; break;
case "endpoints": case "endpoints":
traceStore.setActiveFilter(activeFilter.value); traceStore.setActiveFilter(activeFilter.value);
addToActiveFilterList();
break; break;
} }
} }