Add namespace settings dropdown component
This commit is contained in:
parent
f1ef4f9f37
commit
f3c28451f6
|
@ -110,7 +110,6 @@ export default {
|
|||
methods: {
|
||||
hide(e) {
|
||||
if (this.listSettingsOpen) {
|
||||
console.log('hide', e)
|
||||
closeWhenClickedOutside(e, this.$refs.dropdown, () => {
|
||||
this.listSettingsOpen = false
|
||||
})
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
<template>
|
||||
<div class="dropdown is-right is-active" ref="dropdown">
|
||||
<div class="dropdown-trigger">
|
||||
<icon icon="ellipsis-h" @click="open = !open" class="icon"/>
|
||||
</div>
|
||||
<transition name="fade">
|
||||
<div class="dropdown-menu" v-if="open">
|
||||
<div class="dropdown-content">
|
||||
<router-link
|
||||
:to="{ name: 'namespace.settings.edit', params: { namespaceId: namespace.id } }"
|
||||
class="dropdown-item">
|
||||
Edit this namespace
|
||||
</router-link>
|
||||
<router-link
|
||||
:to="{ name: 'namespace.settings.share', params: { namespaceId: namespace.id } }"
|
||||
class="dropdown-item">
|
||||
Share this namespace
|
||||
</router-link>
|
||||
<router-link
|
||||
:to="{ name: 'list.create', params: { id: namespace.id } }"
|
||||
class="dropdown-item">
|
||||
Create a new list
|
||||
</router-link>
|
||||
<router-link
|
||||
:to="{ name: 'namespace.settings.delete', params: { namespaceId: namespace.id } }"
|
||||
class="dropdown-item">
|
||||
Delete this namespace
|
||||
</router-link>
|
||||
</div>
|
||||
</div>
|
||||
</transition>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {closeWhenClickedOutside} from '@/helpers/closeWhenClickedOutside'
|
||||
|
||||
export default {
|
||||
name: 'namespace-settings-dropdown',
|
||||
data() {
|
||||
return {
|
||||
open: false,
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
document.addEventListener('click', this.hide)
|
||||
},
|
||||
beforeDestroy() {
|
||||
document.removeEventListener('click', this.hide)
|
||||
},
|
||||
props: {
|
||||
namespace: {
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
hide(e) {
|
||||
if (this.open) {
|
||||
closeWhenClickedOutside(e, this.$refs.dropdown, () => {
|
||||
this.open = false
|
||||
})
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
Reference in New Issue