fix(fleet): preserve drafts before dialog close and respect dashboard permissions
This commit is contained in:
@@ -25,6 +25,7 @@ const props = withDefaults(defineProps<{
|
||||
lockWhileSubmitting?: boolean
|
||||
fullscreenable?: boolean
|
||||
defaultFullscreen?: boolean
|
||||
beforeClose?: (done: () => void) => void | Promise<void>
|
||||
}>(), {
|
||||
width: 'min(560px, calc(100vw - 28px))',
|
||||
loading: false,
|
||||
@@ -63,8 +64,12 @@ function toggleFullscreen() {
|
||||
|
||||
function closeDialog() {
|
||||
if (submittingLocked.value) return
|
||||
open.value = false
|
||||
emit('cancel')
|
||||
const done = () => {
|
||||
open.value = false
|
||||
emit('cancel')
|
||||
}
|
||||
if (props.beforeClose) void props.beforeClose(done)
|
||||
else done()
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -79,6 +84,7 @@ function closeDialog() {
|
||||
:close-on-click-modal="closeOnClickModal && !submittingLocked"
|
||||
:close-on-press-escape="closeOnPressEscape && !submittingLocked"
|
||||
:destroy-on-close="destroyOnClose"
|
||||
:before-close="beforeClose"
|
||||
:fullscreen="fullscreenable && fullscreen"
|
||||
:class="{ 'has-native-fullscreen-control': fullscreenable && !$slots.header }"
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user