fix: allow deleting email templates from listview
This commit is contained in:
parent
e190280b56
commit
975384ad43
@ -46,7 +46,16 @@
|
|||||||
</ListRowItem>
|
</ListRowItem>
|
||||||
</ListRow>
|
</ListRow>
|
||||||
</ListRows>
|
</ListRows>
|
||||||
<ListSelectBanner />
|
<ListSelectBanner>
|
||||||
|
<template #actions="{ selections, unselectAll }">
|
||||||
|
<Button
|
||||||
|
theme="red"
|
||||||
|
variant="subtle"
|
||||||
|
label="Delete"
|
||||||
|
@click="deleteEmailTemplate(selections, unselectAll)"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</ListSelectBanner>
|
||||||
</ListView>
|
</ListView>
|
||||||
<ListFooter
|
<ListFooter
|
||||||
class="border-t px-5 py-2"
|
class="border-t px-5 py-2"
|
||||||
@ -60,7 +69,6 @@
|
|||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import {
|
import {
|
||||||
Avatar,
|
|
||||||
ListView,
|
ListView,
|
||||||
ListHeader,
|
ListHeader,
|
||||||
ListRows,
|
ListRows,
|
||||||
@ -68,6 +76,7 @@ import {
|
|||||||
ListSelectBanner,
|
ListSelectBanner,
|
||||||
ListRowItem,
|
ListRowItem,
|
||||||
ListFooter,
|
ListFooter,
|
||||||
|
call,
|
||||||
} from 'frappe-ui'
|
} from 'frappe-ui'
|
||||||
import { defineModel } from 'vue'
|
import { defineModel } from 'vue'
|
||||||
|
|
||||||
@ -90,7 +99,40 @@ const props = defineProps({
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
const emit = defineEmits(['loadMore', 'showEmailTemplate'])
|
const emit = defineEmits(['loadMore', 'showEmailTemplate', 'reload'])
|
||||||
|
|
||||||
const pageLengthCount = defineModel()
|
const pageLengthCount = defineModel()
|
||||||
|
|
||||||
|
function deleteEmailTemplate(selections, unselectAll) {
|
||||||
|
let title = 'Delete email template'
|
||||||
|
let message = 'Are you sure you want to delete this email template?'
|
||||||
|
|
||||||
|
if (selections.size > 1) {
|
||||||
|
title = 'Delete email templates'
|
||||||
|
message = 'Are you sure you want to delete these email templates?'
|
||||||
|
}
|
||||||
|
|
||||||
|
$dialog({
|
||||||
|
title: title,
|
||||||
|
message: message,
|
||||||
|
actions: [
|
||||||
|
{
|
||||||
|
label: 'Delete',
|
||||||
|
theme: 'red',
|
||||||
|
variant: 'solid',
|
||||||
|
async onClick(close) {
|
||||||
|
for (const selection of selections) {
|
||||||
|
await call('frappe.client.delete', {
|
||||||
|
doctype: 'Email Template',
|
||||||
|
name: selection,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
close()
|
||||||
|
unselectAll()
|
||||||
|
emit('reload')
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
})
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -25,6 +25,7 @@
|
|||||||
}"
|
}"
|
||||||
@loadMore="() => loadMore++"
|
@loadMore="() => loadMore++"
|
||||||
@showEmailTemplate="showEmailTemplate"
|
@showEmailTemplate="showEmailTemplate"
|
||||||
|
@reload="() => emailTemplates.reload()"
|
||||||
/>
|
/>
|
||||||
<div
|
<div
|
||||||
v-else-if="emailTemplates.data"
|
v-else-if="emailTemplates.data"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user