diff --git a/src/Frontend/src/components/FilterInput.vue b/src/Frontend/src/components/FilterInput.vue index 7c06247ae..f3536d538 100644 --- a/src/Frontend/src/components/FilterInput.vue +++ b/src/Frontend/src/components/FilterInput.vue @@ -1,22 +1,21 @@ @@ -185,14 +184,10 @@ function setQuery() { margin-bottom: 5rem; background-color: #ffffff; } -.spacer { - border-bottom: 1px solid #b1afaf; - margin-top: 0.1rem; - margin-bottom: 0.1rem; -} .item { - padding: 3px; + padding: 0.3rem 0.2rem; border: 1px solid #ffffff; + border-bottom: 1px solid #eee; display: grid; grid-template-columns: 1.8em 1fr 1fr 1fr 1fr; grid-template-rows: 1fr 1fr; @@ -201,8 +196,11 @@ function setQuery() { "status message-type message-type message-type time-sent" "status message-id processing-time critical-time delivery-time"; } +.item:not(:first-child) { + border-top-color: #eee; +} .item:hover { - border: 1px solid #00a3c4; + border-color: #00a3c4; background-color: #edf6f7; cursor: pointer; } diff --git a/src/Frontend/src/components/audit/FiltersPanel.vue b/src/Frontend/src/components/audit/FiltersPanel.vue index 72dd98bdb..7f6fd9c07 100644 --- a/src/Frontend/src/components/audit/FiltersPanel.vue +++ b/src/Frontend/src/components/audit/FiltersPanel.vue @@ -3,7 +3,7 @@ import FilterInput from "@/components/FilterInput.vue"; import { storeToRefs } from "pinia"; import { FieldNames, useAuditStore } from "@/stores/AuditStore.ts"; import ListFilterSelector from "@/components/audit/ListFilterSelector.vue"; -import { computed, ref, watch } from "vue"; +import { computed } from "vue"; import DatePickerRange from "@/components/audit/DatePickerRange.vue"; const store = useAuditStore(); @@ -20,8 +20,28 @@ const sortByItemsMap = new Map([ ]); const numberOfItemsPerPage = ["50", "100", "250", "500"]; const sortByItems = computed(() => [...sortByItemsMap.keys()]); -const selectedSortByItem = ref(findKeyByValue(`${sortBy.value.property},${sortBy.value.isAscending ? "asc" : "desc"}`)); -const selectedItemsPerPage = ref(itemsPerPage.value.toString()); +const selectedSortByItem = computed({ + get() { + return findKeyByValue(`${sortBy.value.property},${sortBy.value.isAscending ? "asc" : "desc"}`); + }, + set(newValue) { + const item = sortByItemsMap.get(newValue); + if (item) { + const strings = item.split(","); + sortBy.value = { isAscending: strings[1] === "asc", property: strings[0] }; + } else { + sortBy.value = { isAscending: true, property: FieldNames.TimeSent }; + } + }, +}); +const selectedItemsPerPage = computed({ + get() { + return itemsPerPage.value.toString(); + }, + set(newValue) { + itemsPerPage.value = parseInt(newValue); + }, +}); function findKeyByValue(searchValue: string) { for (const [key, value] of sortByItemsMap.entries()) { @@ -31,28 +51,6 @@ function findKeyByValue(searchValue: string) { } return ""; } - -watch(itemsPerPage, (newValue) => { - selectedItemsPerPage.value = newValue.toString(); -}); - -watch(sortBy, (newValue) => { - selectedSortByItem.value = findKeyByValue(`${newValue.property},${newValue.isAscending ? "asc" : "desc"}`); -}); - -watch(selectedItemsPerPage, (newValue) => { - itemsPerPage.value = parseInt(newValue, 10); -}); - -watch(selectedSortByItem, (newValue) => { - const item = sortByItemsMap.get(newValue); - if (item) { - const strings = item.split(","); - sortBy.value = { isAscending: strings[1] === "asc", property: strings[0] }; - } else { - sortBy.value = { isAscending: true, property: FieldNames.TimeSent }; - } -});