1
0
forked from test/crm

feat: click row like icon to like the doc

This commit is contained in:
Shariq Ansari 2024-05-22 20:56:52 +05:30
parent 3ed9c5a855
commit bcd1cffa95
3 changed files with 16 additions and 1 deletions

View File

@ -107,6 +107,10 @@
v-if="column.key == '_liked_by'"
variant="ghosted"
:class="isLiked(item) ? 'fill-red-500' : 'fill-white'"
@click.stop.prevent="
() =>
emit('likeDoc', { name: row.name, liked: isLiked(item) })
"
>
<HeartIcon class="h-4 w-4" />
</Button>
@ -219,6 +223,7 @@ const emit = defineEmits([
'columnWidthUpdated',
'applyFilter',
'applyLikeFilter',
'likeDoc',
])
const pageLengthCount = defineModel()

View File

@ -789,7 +789,16 @@ function applyLikeFilter() {
updateFilter(filters)
}
defineExpose({ applyFilter, applyLikeFilter })
function likeDoc({ name, liked }) {
createResource({
url: 'frappe.desk.like.toggle_like',
params: { doctype: props.doctype, name: name, add: liked ? 'No' : 'Yes' },
auto: true,
onSuccess: () => reload(),
})
}
defineExpose({ applyFilter, applyLikeFilter, likeDoc })
// Watchers
watch(

View File

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