mirror of
https://gitlab.com/bramw/baserow.git
synced 2025-04-06 05:55:28 +00:00
84 lines
2.3 KiB
Vue
84 lines
2.3 KiB
Vue
<template>
|
|
<Context ref="context">
|
|
<ul class="context__menu">
|
|
<li v-if="hasValidExporter">
|
|
<a @click="exportView()">
|
|
<i class="context__menu-icon fas fa-fw fa-file-export"></i>
|
|
{{ $t('viewContext.exportView') }}
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a @click="openWebhookModal()">
|
|
<i class="context__menu-icon fas fa-fw fa-globe"></i>
|
|
Webhooks
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a @click="enableRename()">
|
|
<i class="context__menu-icon fas fa-fw fa-pen"></i>
|
|
{{ $t('viewContext.renameView') }}
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a @click="deleteView()">
|
|
<i class="context__menu-icon fas fa-fw fa-trash"></i>
|
|
{{ $t('viewContext.deleteView') }}
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
<DeleteViewModal ref="deleteViewModal" :view="view" />
|
|
<ExportTableModal ref="exportViewModal" :table="table" :view="view" />
|
|
<WebhookModal ref="webhookModal" :table="table" />
|
|
</Context>
|
|
</template>
|
|
|
|
<script>
|
|
import context from '@baserow/modules/core/mixins/context'
|
|
import viewTypeHasExporterTypes from '@baserow/modules/database/utils/viewTypeHasExporterTypes'
|
|
|
|
import ExportTableModal from '@baserow/modules/database/components/export/ExportTableModal'
|
|
import DeleteViewModal from './DeleteViewModal'
|
|
import WebhookModal from '@baserow/modules/database/components/webhook/WebhookModal.vue'
|
|
|
|
export default {
|
|
name: 'ViewContext',
|
|
components: { DeleteViewModal, ExportTableModal, WebhookModal },
|
|
mixins: [context],
|
|
props: {
|
|
view: {
|
|
type: Object,
|
|
required: true,
|
|
},
|
|
table: {
|
|
type: Object,
|
|
required: true,
|
|
},
|
|
},
|
|
computed: {
|
|
hasValidExporter() {
|
|
return viewTypeHasExporterTypes(this.view.type, this.$registry)
|
|
},
|
|
},
|
|
methods: {
|
|
setLoading(view, value) {
|
|
this.$store.dispatch('view/setItemLoading', { view, value })
|
|
},
|
|
enableRename() {
|
|
this.$refs.context.hide()
|
|
this.$emit('enable-rename')
|
|
},
|
|
deleteView() {
|
|
this.$refs.context.hide()
|
|
this.$refs.deleteViewModal.show()
|
|
},
|
|
exportView() {
|
|
this.$refs.context.hide()
|
|
this.$refs.exportViewModal.show()
|
|
},
|
|
openWebhookModal() {
|
|
this.$refs.context.hide()
|
|
this.$refs.webhookModal.show()
|
|
},
|
|
},
|
|
}
|
|
</script>
|