feat: click header like icon to apply filter

This commit is contained in:
Shariq Ansari 2024-05-22 20:56:15 +05:30
parent 72fa3e3eaa
commit 3ed9c5a855
4 changed files with 15 additions and 2 deletions

@ -1 +1 @@
Subproject commit 38a7784d7be13493e975a9def90a28b1f5cda095
Subproject commit ee6540506d384c77c9d743bffeec58f05e9ff731

View File

@ -23,6 +23,7 @@
variant="ghosted"
class="!h-4"
:class="isLikeFilterApplied ? 'fill-red-500' : 'fill-white'"
@click="() => emit('applyLikeFilter')"
>
<HeartIcon class="h-4 w-4" />
</Button>
@ -217,6 +218,7 @@ const emit = defineEmits([
'updatePageCount',
'columnWidthUpdated',
'applyFilter',
'applyLikeFilter',
])
const pageLengthCount = defineModel()

View File

@ -779,7 +779,17 @@ function applyFilter({ event, idx, column, item }) {
updateFilter(filters)
}
defineExpose({ applyFilter })
function applyLikeFilter() {
let filters = { ...list.value.params.filters }
if (!filters._liked_by) {
filters['_liked_by'] = ['LIKE', '%@me%']
} else {
delete filters['_liked_by']
}
updateFilter(filters)
}
defineExpose({ applyFilter, applyLikeFilter })
// Watchers
watch(

View File

@ -43,6 +43,7 @@
@columnWidthUpdated="() => triggerResize++"
@updatePageCount="(count) => (updatedPageCount = count)"
@applyFilter="(data) => viewControls.applyFilter(data)"
@applyLikeFilter="(data) => viewControls.applyLikeFilter(data)"
/>
<div v-else-if="leads.data" class="flex h-full items-center justify-center">
<div