1
1
mirror of https://github.com/Fabio286/antares.git synced 2025-06-05 21:59:22 +02:00

feat: foreign key support in add/edit row

This commit is contained in:
2020-08-17 15:10:19 +02:00
parent dca625fe5a
commit 0b6a188d19
10 changed files with 169 additions and 24 deletions

View File

@ -16,6 +16,13 @@
:class="`${isNull(col)} type-${fieldType(cKey)}`"
@dblclick="editON($event, col, cKey)"
>{{ col | typeFormat(fieldType(cKey), fieldPrecision(cKey)) | cutText }}</span>
<ForeignKeySelect
v-else-if="foreignKeys.includes(cKey)"
class="editable-field"
:value.sync="editingContent"
:key-usage="getKeyUsage(cKey)"
@blur="editOFF"
/>
<template v-else>
<input
v-if="inputProps.mask"
@ -131,11 +138,13 @@ import hexToBinary from 'common/libs/hexToBinary';
import { TEXT, LONG_TEXT, NUMBER, DATE, TIME, DATETIME, BLOB, BIT } from 'common/fieldTypes';
import { mask } from 'vue-the-mask';
import ConfirmModal from '@/components/BaseConfirmModal';
import ForeignKeySelect from '@/components/ForeignKeySelect';
export default {
name: 'WorkspaceQueryTableRow',
components: {
ConfirmModal
ConfirmModal,
ForeignKeySelect
},
directives: {
mask
@ -240,6 +249,9 @@ export default {
},
isImage () {
return ['gif', 'jpg', 'png', 'bmp', 'ico', 'tif'].includes(this.contentInfo.ext);
},
foreignKeys () {
return this.keyUsage.map(key => key.column);
}
},
created () {
@ -381,6 +393,9 @@ export default {
},
selectRow (event, row) {
this.$emit('selectRow', event, row);
},
getKeyUsage (keyName) {
return this.keyUsage.find(key => key.column === keyName);
}
}
};