Update modal code
This commit is contained in:
parent
2c73991f2b
commit
32db345238
8 changed files with 38 additions and 21 deletions
|
@ -1,13 +1,9 @@
|
|||
<template>
|
||||
<transition name="modal">
|
||||
<div class="modal-mask" v-show="show" v-on:click="close">
|
||||
<div class="modal-container" @click.stop>
|
||||
<div v-on:click="close" v-if="dismissable && showCloseIcon">
|
||||
<Icon name="x"
|
||||
class="absolute pin-r pin-t m-2 text-neutral-500 cursor-pointer"
|
||||
aria-label="Close modal"
|
||||
role="button"
|
||||
/>
|
||||
<div class="modal-mask" v-show="isVisible" v-on:click="closeOnBackground && close()">
|
||||
<div class="modal-container p-8" :class="{ 'full-screen': isFullScreen }" @click.stop>
|
||||
<div class="modal-close-icon" v-on:click="close" v-if="dismissable && showCloseIcon">
|
||||
<Icon name="x" aria-label="Close modal" role="button"/>
|
||||
</div>
|
||||
<slot/>
|
||||
</div>
|
||||
|
@ -24,17 +20,19 @@
|
|||
components: {Icon},
|
||||
|
||||
props: {
|
||||
showCloseIcon: {type: Boolean, default: true},
|
||||
modalName: {type: String, default: 'modal'},
|
||||
show: {type: Boolean, default: false},
|
||||
isVisible: {type: Boolean, default: false},
|
||||
closeOnEsc: {type: Boolean, default: true},
|
||||
dismissable: {type: Boolean, default: true},
|
||||
showCloseIcon: {type: Boolean, default: true},
|
||||
isFullScreen: {type: Boolean, default: false},
|
||||
closeOnBackground: {type: Boolean, default: true},
|
||||
},
|
||||
|
||||
mounted: function () {
|
||||
if (this.$props.dismissable && this.$props.closeOnEsc) {
|
||||
if (this.$props.closeOnEsc) {
|
||||
document.addEventListener('keydown', e => {
|
||||
if (this.show && e.key === 'Escape') {
|
||||
if (this.isVisible && e.key === 'Escape') {
|
||||
this.close();
|
||||
}
|
||||
})
|
||||
|
@ -43,9 +41,11 @@
|
|||
|
||||
methods: {
|
||||
close: function () {
|
||||
if (this.$props.dismissable) {
|
||||
this.$emit('close', this.$props.modalName);
|
||||
if (!this.$props.dismissable) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.$emit('close', this.$props.modalName);
|
||||
}
|
||||
},
|
||||
});
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div>
|
||||
<Navigation/>
|
||||
<div class="container animate fadein mt-2 sm:mt-6">
|
||||
<Modal :show="modalVisible" v-on:close="modalVisible = false">
|
||||
<Modal :isVisible="modalVisible" v-on:close="modalVisible = false">
|
||||
<TwoFactorAuthentication v-on:close="modalVisible = false"/>
|
||||
</Modal>
|
||||
<Flash container="mt-2 sm:mt-6 mb-2"/>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<Modal :show="visible" v-on:close="onModalClose" :showCloseIcon="false" :dismissable="!isLoading">
|
||||
<Modal :isVisible="visible" v-on:close="onModalClose" :showCloseIcon="false" :dismissable="!isLoading">
|
||||
<div>
|
||||
<label class="input-label">
|
||||
Directory Name
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<Modal :show="isVisible" v-on:close="isVisible = false" :dismissable="!isLoading">
|
||||
<Modal :isVisible="isVisible" v-on:close="isVisible = false" :dismissable="!isLoading">
|
||||
<MessageBox
|
||||
class="alert error mb-8"
|
||||
title="Error"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<Modal :show="visible" v-on:close="isVisible = false" :dismissable="!isLoading">
|
||||
<Modal :isVisible="visible" v-on:close="isVisible = false" :dismissable="!isLoading">
|
||||
<MessageBox class="alert error mb-8" title="Error" :message="error" v-if="error"/>
|
||||
<div class="flex items-end">
|
||||
<div class="flex-1">
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<Modal :show="isVisible" v-on:close="closeModal" :showCloseIcon="false" :dismissable="!isLoading">
|
||||
<Modal :isVisible="isVisible" v-on:close="closeModal" :showCloseIcon="false" :dismissable="!isLoading">
|
||||
<MessageBox
|
||||
class="alert error mb-8"
|
||||
title="Error"
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<div>
|
||||
<button class="btn btn-primary btn-lg" v-on:click="showCreateModal = true">Create new database</button>
|
||||
</div>
|
||||
<Modal :show="showCreateModal" v-on:close="showCreateModal = false">
|
||||
<Modal :isVisible="showCreateModal" v-on:close="showCreateModal = false">
|
||||
<CreateDatabaseModal
|
||||
v-on:close="showCreateModal = false"
|
||||
v-on:database="handleModalCallback"
|
||||
|
|
Reference in a new issue