mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-18 00:56:02 +00:00
SYNC: table cell view - single click
This commit is contained in:
committed by
Diflow
parent
6b66c273b4
commit
6c317b6e64
@@ -95,6 +95,15 @@
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function handleClick(field) {
|
||||||
|
if (!editable || !grider) return;
|
||||||
|
if (isJsonValue(field.value) && !field.hasMultipleValues) {
|
||||||
|
openEditModal(field);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
startEditing(field);
|
||||||
|
}
|
||||||
|
|
||||||
function handleDoubleClick(field) {
|
function handleDoubleClick(field) {
|
||||||
if (!editable || !grider) return;
|
if (!editable || !grider) return;
|
||||||
if (isJsonValue(field.value) && !field.hasMultipleValues) {
|
if (isJsonValue(field.value) && !field.hasMultipleValues) {
|
||||||
@@ -130,12 +139,15 @@
|
|||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
break;
|
break;
|
||||||
case keycodes.tab:
|
case keycodes.tab:
|
||||||
|
case keycodes.upArrow:
|
||||||
|
case keycodes.downArrow:
|
||||||
|
const reverse = event.keyCode === keycodes.upArrow || (event.keyCode === keycodes.tab && event.shiftKey);
|
||||||
if (isChangedRef.get()) {
|
if (isChangedRef.get()) {
|
||||||
saveValue(field);
|
saveValue(field);
|
||||||
}
|
}
|
||||||
editingColumn = null;
|
editingColumn = null;
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
moveToNextField(field, event.shiftKey);
|
moveToNextField(field, reverse)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -231,7 +243,7 @@
|
|||||||
{#each filteredFields as field (field.uniqueName)}
|
{#each filteredFields as field (field.uniqueName)}
|
||||||
<div class="field">
|
<div class="field">
|
||||||
<div class="field-name"><ColumnLabel {...field} showDataType /></div>
|
<div class="field-name"><ColumnLabel {...field} showDataType /></div>
|
||||||
<div class="field-value" class:editable on:dblclick={() => handleDoubleClick(field)}>
|
<div class="field-value" class:editable on:click={() => handleClick(field)}>
|
||||||
{#if editingColumn === field.uniqueName}
|
{#if editingColumn === field.uniqueName}
|
||||||
<div class="editor-wrapper">
|
<div class="editor-wrapper">
|
||||||
<input
|
<input
|
||||||
@@ -337,10 +349,6 @@
|
|||||||
cursor: text;
|
cursor: text;
|
||||||
}
|
}
|
||||||
|
|
||||||
.field-value.editable:hover {
|
|
||||||
background: var(--theme-bg-hover);
|
|
||||||
}
|
|
||||||
|
|
||||||
.editor-wrapper {
|
.editor-wrapper {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|||||||
Reference in New Issue
Block a user