mirror of
https://github.com/directus/directus.git
synced 2026-01-26 08:57:58 -05:00
add 'close' event to v-dialog and v-modal
This commit is contained in:
@@ -33,9 +33,10 @@ export default defineComponent({
|
||||
},
|
||||
setup(props, { emit }) {
|
||||
const dialog = ref<HTMLElement | null>(null);
|
||||
|
||||
useShortcut('escape', (event, cancelNext) => {
|
||||
if (_active.value) {
|
||||
emitToggle();
|
||||
emit('close')
|
||||
cancelNext();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
@input="$emit('input', $event)"
|
||||
/>
|
||||
|
||||
<v-dialog v-model="showRaw">
|
||||
<v-dialog v-model="showRaw" @close="showRaw = false">
|
||||
<v-card>
|
||||
<v-card-title>{{ $t('edit_raw_value') }}</v-card-title>
|
||||
<v-card-text>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<v-dialog v-model="_active" :persistent="persistent">
|
||||
<v-dialog v-model="_active" @close="$emit('close')" :persistent="persistent">
|
||||
<template #activator="{ on }">
|
||||
<slot name="activator" v-bind="{ on }" />
|
||||
</template>
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
@input="setSelection"
|
||||
/>
|
||||
|
||||
<v-dialog :active="activeDialog === 'url'" @toggle="activeDialog = null" :persistent="urlLoading">
|
||||
<v-dialog :active="activeDialog === 'url'" @close="activeDialog = null" @toggle="activeDialog = null" :persistent="urlLoading">
|
||||
<v-card>
|
||||
<v-card-title>{{ $t('import_from_url') }}</v-card-title>
|
||||
<v-card-text>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
</template>
|
||||
</v-checkbox>
|
||||
|
||||
<v-dialog persistent v-model="enableActive">
|
||||
<v-dialog persistent v-model="enableActive" @close="enableActive = false">
|
||||
<v-card>
|
||||
<template v-if="tfaEnabled === false" v-show="loading === false">
|
||||
<v-card-title>
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
</v-list>
|
||||
</v-menu>
|
||||
|
||||
<v-dialog :active="activeDialog === 'upload'" @toggle="activeDialog = null">
|
||||
<v-dialog :active="activeDialog === 'upload'" @close="activeDialog = null" @toggle="activeDialog = null">
|
||||
<v-card>
|
||||
<v-card-title>{{ $t('upload_from_device') }}</v-card-title>
|
||||
<v-card-text>
|
||||
@@ -86,7 +86,7 @@
|
||||
@input="setSelection"
|
||||
/>
|
||||
|
||||
<v-dialog :active="activeDialog === 'url'" @toggle="activeDialog = null" :persistent="urlLoading">
|
||||
<v-dialog :active="activeDialog === 'url'" @toggle="activeDialog = null" @close="activeDialog = null" :persistent="urlLoading">
|
||||
<v-card>
|
||||
<v-card-title>{{ $t('import_from_url') }}</v-card-title>
|
||||
<v-card-text>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<v-modal active title="Activity Item" @toggle="close">
|
||||
<v-modal active title="Activity Item" @toggle="close" @close="close">
|
||||
<v-progress-circular indeterminate v-if="loading" />
|
||||
|
||||
<template v-else-if="error">
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
</v-list>
|
||||
</v-menu>
|
||||
|
||||
<v-dialog v-model="renameActive" persistent>
|
||||
<v-dialog v-model="renameActive" persistent @close="renameActive = false">
|
||||
<v-card>
|
||||
<v-card-title>{{ $t('rename_bookmark') }}</v-card-title>
|
||||
<v-card-text>
|
||||
@@ -40,7 +40,7 @@
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
|
||||
<v-dialog v-model="deleteActive" persistent>
|
||||
<v-dialog v-model="deleteActive" persistent @close="deleteActive = false">
|
||||
<v-card>
|
||||
<v-card-title>{{ $t('delete_bookmark_copy', { bookmark: bookmark.bookmark }) }}</v-card-title>
|
||||
<v-card-actions>
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
<template #actions>
|
||||
<search-input v-model="searchQuery" />
|
||||
|
||||
<v-dialog v-model="confirmDelete" v-if="selection.length > 0">
|
||||
<v-dialog v-model="confirmDelete" v-if="selection.length > 0" @close="confirmDelete = false">
|
||||
<template #activator="{ on }">
|
||||
<v-button
|
||||
:disabled="batchDeleteAllowed !== true"
|
||||
@@ -96,6 +96,7 @@
|
||||
|
||||
<v-dialog
|
||||
v-model="confirmArchive"
|
||||
@close="confirmArchive = false"
|
||||
v-if="selection.length > 0 && currentCollection.meta && currentCollection.meta.archive_field"
|
||||
>
|
||||
<template #activator="{ on }">
|
||||
|
||||
@@ -48,7 +48,7 @@
|
||||
</template>
|
||||
|
||||
<template #actions>
|
||||
<v-dialog v-if="!isNew" v-model="confirmDelete" :disabled="deleteAllowed === false">
|
||||
<v-dialog v-if="!isNew" v-model="confirmDelete" :disabled="deleteAllowed === false" @close="confirmDelete = false">
|
||||
<template #activator="{ on }">
|
||||
<v-button
|
||||
rounded
|
||||
@@ -80,6 +80,7 @@
|
||||
<v-dialog
|
||||
v-if="collectionInfo.meta && collectionInfo.meta.archive_field && !isNew"
|
||||
v-model="confirmArchive"
|
||||
@close="confirmArchive = false"
|
||||
:disabled="archiveAllowed === false"
|
||||
>
|
||||
<template #activator="{ on }">
|
||||
@@ -148,7 +149,7 @@
|
||||
v-model="edits"
|
||||
/>
|
||||
|
||||
<v-dialog v-model="confirmLeave">
|
||||
<v-dialog v-model="confirmLeave" @close="confirmLeave = false">
|
||||
<v-card>
|
||||
<v-card-title>{{ $t('unsaved_changes') }}</v-card-title>
|
||||
<v-card-text>{{ $t('unsaved_changes_copy') }}</v-card-text>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<v-dialog v-model="dialogActive">
|
||||
<v-dialog v-model="dialogActive" @close="dialogActive = false">
|
||||
<template #activator="{ on }">
|
||||
<v-button rounded icon class="add-new" @click="on" v-tooltip.bottom="$t('create_folder')">
|
||||
<v-icon name="create_new_folder" outline />
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
</v-list>
|
||||
</v-menu>
|
||||
|
||||
<v-dialog v-model="renameActive" persistent>
|
||||
<v-dialog v-model="renameActive" persistent @close="renameActive = false">
|
||||
<v-card>
|
||||
<v-card-title>{{ $t('rename_folder') }}</v-card-title>
|
||||
<v-card-text>
|
||||
@@ -79,7 +79,7 @@
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
|
||||
<v-dialog v-model="moveActive" persistent>
|
||||
<v-dialog v-model="moveActive" persistent @close="moveActive = false">
|
||||
<v-card>
|
||||
<v-card-title>{{ $t('move_to_folder') }}</v-card-title>
|
||||
<v-card-text>
|
||||
@@ -92,7 +92,7 @@
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
|
||||
<v-dialog v-model="deleteActive" persistent>
|
||||
<v-dialog v-model="deleteActive" persistent @close="deleteActive = false">
|
||||
<v-card>
|
||||
<v-card-title>{{ $t('delete_folder') }}</v-card-title>
|
||||
<v-card-text>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<v-dialog :active="true" @toggle="close">
|
||||
<v-dialog :active="true" @toggle="close" @close="close">
|
||||
<v-card>
|
||||
<v-card-title>{{ $t('add_file') }}</v-card-title>
|
||||
<v-card-text>
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
<add-folder :parent="queryFilters && queryFilters.folder" />
|
||||
|
||||
<v-dialog v-model="moveToDialogActive" v-if="selection.length > 0">
|
||||
<v-dialog v-model="moveToDialogActive" v-if="selection.length > 0" @close="moveToDialogActive = false">
|
||||
<template #activator="{ on }">
|
||||
<v-button rounded icon @click="on" class="folder" v-tooltip.bottom="$t('move_to_folder')">
|
||||
<v-icon name="folder_move" />
|
||||
@@ -44,7 +44,7 @@
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
|
||||
<v-dialog v-model="confirmDelete" v-if="selection.length > 0">
|
||||
<v-dialog v-model="confirmDelete" v-if="selection.length > 0" @close="confirmDelete = false">
|
||||
<template #activator="{ on }">
|
||||
<v-button rounded icon class="action-delete" @click="on" v-tooltip.bottom="$t('delete')">
|
||||
<v-icon name="delete" outline />
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
</template>
|
||||
|
||||
<template #actions>
|
||||
<v-dialog v-model="confirmDelete">
|
||||
<v-dialog v-model="confirmDelete" @close="confirmDelete = false">
|
||||
<template #activator="{ on }">
|
||||
<v-button
|
||||
rounded
|
||||
@@ -40,7 +40,7 @@
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
|
||||
<v-dialog v-model="moveToDialogActive" v-if="isNew === false">
|
||||
<v-dialog v-model="moveToDialogActive" v-if="isNew === false" @close="moveToDialogActive = false">
|
||||
<template #activator="{ on }">
|
||||
<v-button
|
||||
rounded
|
||||
@@ -142,7 +142,7 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<v-dialog v-model="confirmLeave">
|
||||
<v-dialog v-model="confirmLeave" @close="discardAndLeave">
|
||||
<v-card>
|
||||
<v-card-title>{{ $t('unsaved_changes') }}</v-card-title>
|
||||
<v-card-text>{{ $t('unsaved_changes_copy') }}</v-card-text>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
</v-list-item>
|
||||
</v-list>
|
||||
</v-menu>
|
||||
<v-dialog v-model="deleteActive">
|
||||
<v-dialog v-model="deleteActive" @close="deleteActive = null">
|
||||
<v-card>
|
||||
<v-card-title>{{ $t('delete_collection_are_you_sure') }}</v-card-title>
|
||||
<v-card-actions>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
<v-dialog
|
||||
persistent
|
||||
:active="true"
|
||||
@close="cancelField"
|
||||
v-if="localType === 'translations' && translationsManual === false && field === '+'"
|
||||
>
|
||||
<v-card class="auto-translations">
|
||||
@@ -31,6 +32,7 @@
|
||||
v-else
|
||||
:active="true"
|
||||
@toggle="cancelField"
|
||||
@close="cancelField"
|
||||
:title="
|
||||
field === '+'
|
||||
? $t('creating_new_field', { collection: collectionInfo.name })
|
||||
|
||||
@@ -152,7 +152,7 @@
|
||||
</template>
|
||||
</v-input>
|
||||
|
||||
<v-dialog v-model="duplicateActive">
|
||||
<v-dialog v-model="duplicateActive" @close="duplicateActive = false">
|
||||
<v-card class="duplicate">
|
||||
<v-card-title>{{ $t('duplicate_where_to') }}</v-card-title>
|
||||
<v-card-text>
|
||||
@@ -179,7 +179,7 @@
|
||||
</v-card>
|
||||
</v-dialog>
|
||||
|
||||
<v-dialog v-model="deleteActive">
|
||||
<v-dialog v-model="deleteActive" @close="deleteActive = false">
|
||||
<v-card>
|
||||
<v-card-title>{{ $t('delete_field_are_you_sure', { field: field.field }) }}</v-card-title>
|
||||
<v-card-actions>
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
</template>
|
||||
|
||||
<template #actions>
|
||||
<v-dialog v-model="confirmDelete">
|
||||
<v-dialog v-model="confirmDelete" @close="confirmDelete = false">
|
||||
<template #activator="{ on }">
|
||||
<v-button
|
||||
rounded
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<v-modal :title="$t('creating_new_collection')" :active="true" class="new-collection" persistent>
|
||||
<v-dialog :active="saveError !== null" @toggle="saveError = null">
|
||||
<v-modal :title="$t('creating_new_collection')" :active="true" class="new-collection" persistent @close="$router.push('/settings/data-model')">
|
||||
<v-dialog :active="saveError !== null" @toggle="saveError = null" @close="saveError = null">
|
||||
<v-card class="selectable">
|
||||
<v-card-title>
|
||||
{{ saveError && saveError.message }}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
</template>
|
||||
|
||||
<template #actions>
|
||||
<v-dialog v-model="confirmDelete" v-if="selection.length > 0">
|
||||
<v-dialog v-model="confirmDelete" v-if="selection.length > 0" @close="confirmDelete = false">
|
||||
<template #activator="{ on }">
|
||||
<v-button rounded icon class="action-delete" @click="on" v-tooltip.bottom="$t('delete')">
|
||||
<v-icon name="delete" outline />
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
</template>
|
||||
|
||||
<template #actions>
|
||||
<v-dialog v-model="confirmDelete">
|
||||
<v-dialog v-model="confirmDelete" @close="confirmDelete = false">
|
||||
<template #activator="{ on }">
|
||||
<v-button
|
||||
rounded
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<v-dialog active persistent>
|
||||
<v-dialog active persistent @close="$router.push('/settings/roles')">
|
||||
<v-card>
|
||||
<v-card-title>
|
||||
{{ $t('create_role') }}
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
{{ $t('reset_system_permissions') }}
|
||||
</button>
|
||||
|
||||
<v-dialog v-model="resetActive">
|
||||
<v-dialog v-model="resetActive" @close="resetActive = false">
|
||||
<v-card>
|
||||
<v-card-title>{{ $t('reset_system_permissions') }}</v-card-title>
|
||||
<v-card-text>{{ $t('reset_system_permissions_copy') }}</v-card-text>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
</v-button>
|
||||
</template>
|
||||
<template #actions>
|
||||
<v-dialog v-model="confirmDelete" v-if="[1, 2].includes(+primaryKey) === false">
|
||||
<v-dialog v-model="confirmDelete" v-if="[1, 2].includes(+primaryKey) === false" @close="confirmDelete = false">
|
||||
<template #activator="{ on }">
|
||||
<v-button
|
||||
rounded
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
<template #actions>
|
||||
<search-input v-model="searchQuery" />
|
||||
|
||||
<v-dialog v-model="confirmDelete" v-if="selection.length > 0">
|
||||
<v-dialog v-model="confirmDelete" v-if="selection.length > 0" @close="confirmDelete = false">
|
||||
<template #activator="{ on }">
|
||||
<v-button rounded icon class="action-delete" @click="on">
|
||||
<v-icon name="delete" outline />
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
</template>
|
||||
|
||||
<template #actions>
|
||||
<v-dialog v-model="confirmDelete">
|
||||
<v-dialog v-model="confirmDelete" @close="confirmDelete = false">
|
||||
<template #activator="{ on }">
|
||||
<v-button rounded icon class="action-delete" :disabled="item === null" @click="on">
|
||||
<v-icon name="delete" outline />
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<template #actions>
|
||||
<search-input v-model="searchQuery" />
|
||||
|
||||
<v-dialog v-model="confirmDelete" v-if="selection.length > 0">
|
||||
<v-dialog v-model="confirmDelete" v-if="selection.length > 0" @close="confirmDelete = false">
|
||||
<template #activator="{ on }">
|
||||
<v-button rounded icon class="action-delete" @click="on">
|
||||
<v-icon name="delete" outline />
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
</template>
|
||||
|
||||
<template #actions>
|
||||
<v-dialog v-model="confirmDelete">
|
||||
<v-dialog v-model="confirmDelete" @close="confirmDelete = false">
|
||||
<template #activator="{ on }">
|
||||
<v-button
|
||||
rounded
|
||||
@@ -42,6 +42,7 @@
|
||||
<v-dialog
|
||||
v-if="collectionInfo.meta && collectionInfo.meta.archive_field && !isNew"
|
||||
v-model="confirmArchive"
|
||||
@close="confirmArchive = false"
|
||||
:disabled="archiveAllowed === false"
|
||||
>
|
||||
<template #activator="{ on }">
|
||||
@@ -129,7 +130,7 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<v-dialog v-model="confirmLeave">
|
||||
<v-dialog v-model="confirmLeave" @close="confirmLeave = false">
|
||||
<v-card>
|
||||
<v-card-title>{{ $t('unsaved_changes') }}</v-card-title>
|
||||
<v-card-text>{{ $t('unsaved_changes_copy') }}</v-card-text>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<v-dialog :active="active" @toggle="$listeners.toggle" persistent>
|
||||
<v-dialog :active="active" @toggle="$listeners.toggle" persistent @close="cancel">
|
||||
<template #activator="slotBinding">
|
||||
<slot name="activator" v-bind="slotBinding" />
|
||||
</template>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<v-dialog :active="active" @toggle="$listeners.toggle" persistent>
|
||||
<v-dialog :active="active" @toggle="$listeners.toggle" persistent @close="cancel">
|
||||
<template #activator="slotBinding">
|
||||
<slot name="activator" v-bind="slotBinding" />
|
||||
</template>
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
</v-menu>
|
||||
</div>
|
||||
|
||||
<v-dialog v-model="confirmDelete">
|
||||
<v-dialog v-model="confirmDelete" @close="confirmDelete = false">
|
||||
<v-card>
|
||||
<v-card-title>{{ $t('delete_comment') }}</v-card-title>
|
||||
<v-card-text>{{ $t('delete_are_you_sure') }}</v-card-text>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<v-dialog v-model="_active">
|
||||
<v-dialog v-model="_active" @close="_active = false">
|
||||
<template #activator="activatorBinding">
|
||||
<slot name="activator" v-bind="activatorBinding" />
|
||||
</template>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<v-modal v-model="_active" class="modal" :title="$t('editing_image')" persistent no-padding>
|
||||
<v-modal v-model="_active" class="modal" :title="$t('editing_image')" persistent no-padding @close="_active = false">
|
||||
<template #activator="activatorBinding">
|
||||
<slot name="activator" v-bind="activatorBinding" />
|
||||
</template>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<v-modal v-model="_active" :title="$t('select_item')" no-padding>
|
||||
<v-modal v-model="_active" :title="$t('select_item')" no-padding @close="cancel">
|
||||
<component
|
||||
:is="`layout-${localLayout}`"
|
||||
:collection="collection"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<v-modal v-model="_active" :title="title" persistent form-width>
|
||||
<v-modal v-model="_active" :title="title" persistent form-width @close="cancel">
|
||||
<template v-if="junctionField">
|
||||
<v-form
|
||||
:loading="loading"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<v-hover class="module-bar-avatar" v-slot="{ hover }">
|
||||
<v-dialog v-model="signOutActive">
|
||||
<v-dialog v-model="signOutActive" @close="signOutActive = false">
|
||||
<template #activator="{ on }">
|
||||
<v-button
|
||||
@click="on"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<v-modal v-model="_active" :title="$t('item_revision')">
|
||||
<v-modal v-model="_active" :title="$t('item_revision')" @close="_active = false">
|
||||
<template #subtitle>
|
||||
<revisions-modal-picker :revisions="revisions" :current.sync="_current" />
|
||||
</template>
|
||||
@@ -30,7 +30,7 @@
|
||||
</template>
|
||||
</v-modal>
|
||||
|
||||
<v-dialog v-model="confirmRevert" :persistent="reverting">
|
||||
<v-dialog v-model="confirmRevert" :persistent="reverting" @close="confirmRevert = false">
|
||||
<v-card>
|
||||
<v-card-title>{{ $t('confirm_revert') }}</v-card-title>
|
||||
<v-card-text>{{ $t('confirm_revert_body') }}</v-card-text>
|
||||
|
||||
Reference in New Issue
Block a user