0
0
Fork 0

feat: refs #6999 added search when user tabs on a filter with value

This commit is contained in:
Jon Elias 2024-10-29 12:15:40 +01:00
parent 53887277ca
commit 493e518339
1 changed files with 19 additions and 1 deletions

View File

@ -4,6 +4,7 @@ import { useI18n } from 'vue-i18n';
import { useStateStore } from 'stores/useStateStore';
import { toDate } from 'src/filters';
import { useArrayData } from 'composables/useArrayData';
import VnSubToolbar from 'src/components/ui/VnSubToolbar.vue';
import RightMenu from 'src/components/common/RightMenu.vue';
import EntryLatestBuysFilter from './EntryLatestBuysFilter.vue';
@ -12,6 +13,9 @@ import VnImg from 'src/components/ui/VnImg.vue';
const stateStore = useStateStore();
const { t } = useI18n();
const tableRef = ref();
const arrayData = useArrayData('LatestBuys', { searchUrl: 'Buys/latestBuysFilter' });
const lastParams = {};
const columns = [
{
align: 'center',
@ -234,13 +238,26 @@ const columns = [
format: (row, dashIfEmpty) => dashIfEmpty(toDate(row.landing)),
},
];
const tableRef = ref();
onMounted(async () => {
stateStore.rightDrawer = true;
});
onUnmounted(() => (stateStore.rightDrawer = false));
const onTabPressed = async () => {
let params = tableRef.value.params;
if (
Object.keys(params).length > 0 &&
JSON.stringify(params) !== JSON.stringify(lastParams)
) {
Object.assign(lastParams, params);
await arrayData.addFilter({ filter: { where: params } });
}
params = {};
};
</script>
<template>
@ -260,6 +277,7 @@ onUnmounted(() => (stateStore.rightDrawer = false));
:row-click="({ entryFk }) => tableRef.redirect(entryFk)"
auto-load
:right-search="false"
@keydown.tab="onTabPressed"
/>
</template>