Compare commits

...

2 Commits

Author SHA1 Message Date
Lykin a2336b4fc8 fix: block copy action when double click refresh button inside #124 2024-01-19 11:36:47 +08:00
Lykin 6aca08de3e doc: update README 2024-01-19 10:54:02 +08:00
3 changed files with 24 additions and 7 deletions

View File

@ -49,11 +49,12 @@ Linux.</strong>
* Integrate with Monaco Editor
* Support real-time commands monitoring.
* Support import/export data.
* Support publish/subscribe.
* support import/export connection profile
## Roadmap
- [ ] Pub/Sub operations
- [ ] Import/export connection profile
- [ ] Custom data encoder and decoder for value display
## Installation

View File

@ -43,12 +43,13 @@
* List/Hash/Set/Sorted Set值的转码显示
* 内置高级编辑器Monaco Editor
* 支持命令实时监控
* 支持数据导入/导出
* 支持导入/导出数据
* 支持发布订阅
* 支持导入/导出连接配置
## 未来版本规划
- [ ] 发布/订阅支持
- [ ] 连接配置导入/导出
- [ ] 自定义数据展示编码/解码
## 安装

View File

@ -10,7 +10,7 @@ import { useI18n } from 'vue-i18n'
import IconButton from '@/components/common/IconButton.vue'
import Copy from '@/components/icons/Copy.vue'
import { ClipboardSetText } from 'wailsjs/runtime/runtime.js'
import { computed, onUnmounted, reactive, watch } from 'vue'
import { computed, nextTick, onUnmounted, reactive, ref, watch } from 'vue'
import { NIcon, useThemeVars } from 'naive-ui'
import { timeout } from '@/utils/promise.js'
import AutoRefreshForm from '@/components/common/AutoRefreshForm.vue'
@ -107,7 +107,11 @@ const onToggleRefresh = (on) => {
}
}
const blockCopy = ref(false)
const onCopyKey = () => {
if (blockCopy.value) {
return
}
ClipboardSetText(props.keyPath)
.then((succ) => {
if (succ) {
@ -119,6 +123,17 @@ const onCopyKey = () => {
})
}
const onReload = () => {
blockCopy.value = true
emit('reload')
nextTick(() => {
setTimeout(() => {
blockCopy.value = false
}, 300)
})
}
const onTTL = () => {
dialogStore.openTTLDialog({
server: props.server,
@ -137,7 +152,7 @@ const onTTL = () => {
<template #suffix>
<n-popover :delay="500" keep-alive-on-hover placement="bottom" trigger="hover">
<template #trigger>
<icon-button :loading="props.loading" size="18" @click="emit('reload')">
<icon-button :loading="props.loading" size="18" @click="onReload">
<n-icon :size="props.size">
<refresh
:class="{ 'auto-rotate': autoRefresh.on }"