fix: show dialog if unsaved changes for custom view
This commit is contained in:
parent
ba0195b521
commit
874ecafa5c
@ -9,7 +9,7 @@
|
|||||||
<template #item="{ element: column }">
|
<template #item="{ element: column }">
|
||||||
<div
|
<div
|
||||||
v-if="!column.delete"
|
v-if="!column.delete"
|
||||||
class="flex flex-col gap-2.5 min-w-[268px] hover:bg-gray-100 rounded-lg p-2.5"
|
class="flex flex-col gap-2.5 min-w-72 w-72 hover:bg-gray-100 rounded-lg p-2.5"
|
||||||
>
|
>
|
||||||
<div class="flex gap-2 items-center group justify-between">
|
<div class="flex gap-2 items-center group justify-between">
|
||||||
<div class="flex items-center text-base">
|
<div class="flex items-center text-base">
|
||||||
|
|||||||
@ -728,6 +728,7 @@ async function updateKanbanSettings(data) {
|
|||||||
value: data.to,
|
value: data.to,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
let isDirty = viewUpdated.value
|
||||||
|
|
||||||
viewUpdated.value = true
|
viewUpdated.value = true
|
||||||
if (!defaultParams.value) {
|
if (!defaultParams.value) {
|
||||||
@ -745,8 +746,25 @@ async function updateKanbanSettings(data) {
|
|||||||
if (!route.query.view) {
|
if (!route.query.view) {
|
||||||
create_or_update_default_view()
|
create_or_update_default_view()
|
||||||
} else if (!data.column_field) {
|
} else if (!data.column_field) {
|
||||||
viewUpdated.value = false
|
if (isDirty) {
|
||||||
update_custom_view()
|
$dialog({
|
||||||
|
title: __('Unsaved Changes'),
|
||||||
|
message: __('You have unsaved changes. Do you want to save them?'),
|
||||||
|
variant: 'danger',
|
||||||
|
actions: [
|
||||||
|
{
|
||||||
|
label: __('Update'),
|
||||||
|
variant: 'solid',
|
||||||
|
onClick: (close) => {
|
||||||
|
update_custom_view()
|
||||||
|
close()
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
update_custom_view()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -779,10 +797,25 @@ function create_or_update_default_view() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function update_custom_view() {
|
function update_custom_view() {
|
||||||
view.value.doctype = props.doctype
|
viewUpdated.value = false
|
||||||
|
view.value = {
|
||||||
|
doctype: props.doctype,
|
||||||
|
label: view.value.label,
|
||||||
|
type: view.value.type || 'list',
|
||||||
|
icon: view.value.icon,
|
||||||
|
name: view.value.name,
|
||||||
|
filters: defaultParams.value.filters,
|
||||||
|
order_by: defaultParams.value.order_by,
|
||||||
|
group_by_field: defaultParams.value.view.group_by_field,
|
||||||
|
column_field: defaultParams.value.column_field,
|
||||||
|
columns: defaultParams.value.columns,
|
||||||
|
rows: defaultParams.value.rows,
|
||||||
|
route_name: route.name,
|
||||||
|
load_default_columns: view.value.load_default_columns,
|
||||||
|
}
|
||||||
call('crm.fcrm.doctype.crm_view_settings.crm_view_settings.update', {
|
call('crm.fcrm.doctype.crm_view_settings.crm_view_settings.update', {
|
||||||
view: view.value,
|
view: view.value,
|
||||||
})
|
}).then(() => reloadView())
|
||||||
}
|
}
|
||||||
|
|
||||||
function updatePageLength(value, loadMore = false) {
|
function updatePageLength(value, loadMore = false) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user