antares/src/renderer/components/WorkspaceTabQueryTableConte...

88 lines
2.4 KiB
Vue
Raw Normal View History

<template>
<BaseContextMenu
:context-event="contextEvent"
2020-08-12 18:11:48 +02:00
@close-context="closeContext"
>
<div v-if="selectedRows.length === 1" class="context-element">
<span class="d-flex"><i class="mdi mdi-18px mdi-content-copy text-light pr-1" /> {{ $t('word.copy') }}</span>
<i class="mdi mdi-18px mdi-chevron-right text-light pl-1" />
<div class="context-submenu">
<div
v-if="selectedRows.length === 1"
class="context-element"
@click="copyCell"
>
<span class="d-flex">
<i class="mdi mdi-18px mdi-numeric-0 mdi-rotate-90 text-light pr-1" /> {{ $tc('word.cell', 1) }}
</span>
</div>
<div
v-if="selectedRows.length === 1"
class="context-element"
@click="copyRow"
>
<span class="d-flex">
<i class="mdi mdi-18px mdi-table-row text-light pr-1" /> {{ $tc('word.row', 1) }}
</span>
</div>
</div>
</div>
<div
v-if="selectedRows.length === 1 && selectedCell.isEditable"
class="context-element"
@click="setNull"
>
<span class="d-flex">
<i class="mdi mdi-18px mdi-null text-light pr-1" /> {{ $t('message.setNull') }}
</span>
</div>
<div
v-if="selectedCell.isEditable"
class="context-element"
@click="showConfirmModal"
>
<span class="d-flex">
<i class="mdi mdi-18px mdi-delete text-light pr-1" /> {{ $tc('message.deleteRows', selectedRows.length) }}
</span>
</div>
</BaseContextMenu>
</template>
<script>
import BaseContextMenu from '@/components/BaseContextMenu';
export default {
2021-08-12 09:54:13 +02:00
name: 'WorkspaceTabQueryTableContext',
components: {
BaseContextMenu
},
props: {
2020-07-22 18:30:52 +02:00
contextEvent: MouseEvent,
selectedRows: Array,
selectedCell: Object
},
computed: {
},
methods: {
showConfirmModal () {
this.$emit('show-delete-modal');
2020-07-23 19:10:14 +02:00
},
closeContext () {
2020-08-12 18:11:48 +02:00
this.$emit('close-context');
2020-07-23 19:10:14 +02:00
},
setNull () {
this.$emit('set-null');
this.closeContext();
},
copyCell () {
this.$emit('copy-cell');
this.closeContext();
},
copyRow () {
this.$emit('copy-row');
this.closeContext();
}
}
};
</script>