Compare commits
No commits in common. "a2336b4fc87e878937fbdb1cc359ccf5d5ea93ab" and "f0ff3e9ed5318260b251529072529b00dc7b29da" have entirely different histories.
a2336b4fc8
...
f0ff3e9ed5
|
@ -49,12 +49,11 @@ Linux.</strong>
|
||||||
* Integrate with Monaco Editor
|
* Integrate with Monaco Editor
|
||||||
* Support real-time commands monitoring.
|
* Support real-time commands monitoring.
|
||||||
* Support import/export data.
|
* Support import/export data.
|
||||||
* Support publish/subscribe.
|
|
||||||
* support import/export connection profile
|
|
||||||
|
|
||||||
## Roadmap
|
## Roadmap
|
||||||
|
|
||||||
- [ ] Custom data encoder and decoder for value display
|
- [ ] Pub/Sub operations
|
||||||
|
- [ ] Import/export connection profile
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
|
|
|
@ -43,13 +43,12 @@
|
||||||
* List/Hash/Set/Sorted Set值的转码显示
|
* List/Hash/Set/Sorted Set值的转码显示
|
||||||
* 内置高级编辑器Monaco Editor
|
* 内置高级编辑器Monaco Editor
|
||||||
* 支持命令实时监控
|
* 支持命令实时监控
|
||||||
* 支持导入/导出数据
|
* 支持数据导入/导出
|
||||||
* 支持发布订阅
|
|
||||||
* 支持导入/导出连接配置
|
|
||||||
|
|
||||||
## 未来版本规划
|
## 未来版本规划
|
||||||
|
|
||||||
- [ ] 自定义数据展示编码/解码
|
- [ ] 发布/订阅支持
|
||||||
|
- [ ] 连接配置导入/导出
|
||||||
|
|
||||||
## 安装
|
## 安装
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ import { useI18n } from 'vue-i18n'
|
||||||
import IconButton from '@/components/common/IconButton.vue'
|
import IconButton from '@/components/common/IconButton.vue'
|
||||||
import Copy from '@/components/icons/Copy.vue'
|
import Copy from '@/components/icons/Copy.vue'
|
||||||
import { ClipboardSetText } from 'wailsjs/runtime/runtime.js'
|
import { ClipboardSetText } from 'wailsjs/runtime/runtime.js'
|
||||||
import { computed, nextTick, onUnmounted, reactive, ref, watch } from 'vue'
|
import { computed, onUnmounted, reactive, watch } from 'vue'
|
||||||
import { NIcon, useThemeVars } from 'naive-ui'
|
import { NIcon, useThemeVars } from 'naive-ui'
|
||||||
import { timeout } from '@/utils/promise.js'
|
import { timeout } from '@/utils/promise.js'
|
||||||
import AutoRefreshForm from '@/components/common/AutoRefreshForm.vue'
|
import AutoRefreshForm from '@/components/common/AutoRefreshForm.vue'
|
||||||
|
@ -107,11 +107,7 @@ const onToggleRefresh = (on) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const blockCopy = ref(false)
|
|
||||||
const onCopyKey = () => {
|
const onCopyKey = () => {
|
||||||
if (blockCopy.value) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
ClipboardSetText(props.keyPath)
|
ClipboardSetText(props.keyPath)
|
||||||
.then((succ) => {
|
.then((succ) => {
|
||||||
if (succ) {
|
if (succ) {
|
||||||
|
@ -123,17 +119,6 @@ const onCopyKey = () => {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const onReload = () => {
|
|
||||||
blockCopy.value = true
|
|
||||||
emit('reload')
|
|
||||||
|
|
||||||
nextTick(() => {
|
|
||||||
setTimeout(() => {
|
|
||||||
blockCopy.value = false
|
|
||||||
}, 300)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const onTTL = () => {
|
const onTTL = () => {
|
||||||
dialogStore.openTTLDialog({
|
dialogStore.openTTLDialog({
|
||||||
server: props.server,
|
server: props.server,
|
||||||
|
@ -152,7 +137,7 @@ const onTTL = () => {
|
||||||
<template #suffix>
|
<template #suffix>
|
||||||
<n-popover :delay="500" keep-alive-on-hover placement="bottom" trigger="hover">
|
<n-popover :delay="500" keep-alive-on-hover placement="bottom" trigger="hover">
|
||||||
<template #trigger>
|
<template #trigger>
|
||||||
<icon-button :loading="props.loading" size="18" @click="onReload">
|
<icon-button :loading="props.loading" size="18" @click="emit('reload')">
|
||||||
<n-icon :size="props.size">
|
<n-icon :size="props.size">
|
||||||
<refresh
|
<refresh
|
||||||
:class="{ 'auto-rotate': autoRefresh.on }"
|
:class="{ 'auto-rotate': autoRefresh.on }"
|
||||||
|
|
Loading…
Reference in New Issue