2020-07-10 19:51:36 +02:00
|
|
|
<template>
|
|
|
|
<BaseContextMenu
|
|
|
|
:context-event="contextEvent"
|
2020-08-12 18:11:48 +02:00
|
|
|
@close-context="closeContext"
|
2020-07-10 19:51:36 +02:00
|
|
|
>
|
2021-06-30 19:27:24 +02:00
|
|
|
<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>
|
2021-02-28 21:45:38 +01:00
|
|
|
<div
|
2021-07-16 17:09:02 +02:00
|
|
|
v-if="selectedRows.length === 1 && selectedCell.isEditable"
|
2021-02-28 21:45:38 +01:00
|
|
|
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>
|
2021-07-16 17:09:02 +02:00
|
|
|
<div
|
|
|
|
v-if="selectedCell.isEditable"
|
|
|
|
class="context-element"
|
|
|
|
@click="showConfirmModal"
|
|
|
|
>
|
2021-02-28 21:45:38 +01:00
|
|
|
<span class="d-flex">
|
|
|
|
<i class="mdi mdi-18px mdi-delete text-light pr-1" /> {{ $tc('message.deleteRows', selectedRows.length) }}
|
|
|
|
</span>
|
2020-07-10 19:51:36 +02:00
|
|
|
</div>
|
|
|
|
</BaseContextMenu>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
<script>
|
|
|
|
import BaseContextMenu from '@/components/BaseContextMenu';
|
|
|
|
|
|
|
|
export default {
|
2021-08-12 09:54:13 +02:00
|
|
|
name: 'WorkspaceTabQueryTableContext',
|
2020-07-10 19:51:36 +02:00
|
|
|
components: {
|
2021-04-20 16:30:10 +02:00
|
|
|
BaseContextMenu
|
2020-07-10 19:51:36 +02:00
|
|
|
},
|
|
|
|
props: {
|
2020-07-22 18:30:52 +02:00
|
|
|
contextEvent: MouseEvent,
|
2021-07-16 17:09:02 +02:00
|
|
|
selectedRows: Array,
|
|
|
|
selectedCell: Object
|
2020-07-10 19:51:36 +02:00
|
|
|
},
|
2022-04-22 12:16:02 +02:00
|
|
|
emits: ['show-delete-modal', 'close-context', 'set-null', 'copy-cell', 'copy-row'],
|
2020-07-10 19:51:36 +02:00
|
|
|
methods: {
|
|
|
|
showConfirmModal () {
|
2021-04-20 16:30:10 +02:00
|
|
|
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
|
|
|
},
|
2021-02-28 21:45:38 +01:00
|
|
|
setNull () {
|
|
|
|
this.$emit('set-null');
|
|
|
|
this.closeContext();
|
2021-06-30 19:27:24 +02:00
|
|
|
},
|
|
|
|
copyCell () {
|
|
|
|
this.$emit('copy-cell');
|
|
|
|
this.closeContext();
|
|
|
|
},
|
|
|
|
copyRow () {
|
|
|
|
this.$emit('copy-row');
|
|
|
|
this.closeContext();
|
2020-07-10 19:51:36 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
</script>
|