feat: click row like icon to like the doc
This commit is contained in:
parent
3ed9c5a855
commit
bcd1cffa95
@ -107,6 +107,10 @@
|
|||||||
v-if="column.key == '_liked_by'"
|
v-if="column.key == '_liked_by'"
|
||||||
variant="ghosted"
|
variant="ghosted"
|
||||||
:class="isLiked(item) ? 'fill-red-500' : 'fill-white'"
|
: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" />
|
<HeartIcon class="h-4 w-4" />
|
||||||
</Button>
|
</Button>
|
||||||
@ -219,6 +223,7 @@ const emit = defineEmits([
|
|||||||
'columnWidthUpdated',
|
'columnWidthUpdated',
|
||||||
'applyFilter',
|
'applyFilter',
|
||||||
'applyLikeFilter',
|
'applyLikeFilter',
|
||||||
|
'likeDoc',
|
||||||
])
|
])
|
||||||
|
|
||||||
const pageLengthCount = defineModel()
|
const pageLengthCount = defineModel()
|
||||||
|
|||||||
@ -789,7 +789,16 @@ function applyLikeFilter() {
|
|||||||
updateFilter(filters)
|
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
|
// Watchers
|
||||||
watch(
|
watch(
|
||||||
|
|||||||
@ -44,6 +44,7 @@
|
|||||||
@updatePageCount="(count) => (updatedPageCount = count)"
|
@updatePageCount="(count) => (updatedPageCount = count)"
|
||||||
@applyFilter="(data) => viewControls.applyFilter(data)"
|
@applyFilter="(data) => viewControls.applyFilter(data)"
|
||||||
@applyLikeFilter="(data) => viewControls.applyLikeFilter(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 v-else-if="leads.data" class="flex h-full items-center justify-center">
|
||||||
<div
|
<div
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user