Skip to content

Commit 1c322fd

Browse files
committed
pref: correct display raw value for list/set/zset
1 parent 53e8c26 commit 1c322fd

File tree

5 files changed

+27
-27
lines changed

5 files changed

+27
-27
lines changed

backend/services/browser_service.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -877,7 +877,7 @@ func (b *browserService) GetKeyDetail(param types.KeyDetailParam) (resp types.JS
877877
}
878878
items = append(items, types.ListEntryItem{
879879
Index: len(items),
880-
Value: val,
880+
Value: strutil.EncodeRedisKey(val),
881881
})
882882
if doConvert {
883883
if dv, _, _ := convutil.ConvertTo(val, param.Decode, param.Format, decoder); dv != val {
@@ -994,7 +994,7 @@ func (b *browserService) GetKeyDetail(param types.KeyDetailParam) (resp types.JS
994994
}
995995
for _, val := range loadedKey {
996996
items = append(items, types.SetEntryItem{
997-
Value: val,
997+
Value: strutil.EncodeRedisKey(val),
998998
})
999999
if doConvert {
10001000
if dv, _, _ := convutil.ConvertTo(val, param.Decode, param.Format, decoder); dv != val {
@@ -1015,7 +1015,7 @@ func (b *browserService) GetKeyDetail(param types.KeyDetailParam) (resp types.JS
10151015
loadedKey, cursor, subErr = client.SScan(ctx, key, cursor, matchPattern, scanSize).Result()
10161016
items = make([]types.SetEntryItem, len(loadedKey))
10171017
for i, val := range loadedKey {
1018-
items[i].Value = val
1018+
items[i].Value = strutil.EncodeRedisKey(val)
10191019
if doConvert {
10201020
if dv, _, _ := convutil.ConvertTo(val, param.Decode, param.Format, decoder); dv != val {
10211021
items[i].DisplayValue = dv
@@ -1061,7 +1061,7 @@ func (b *browserService) GetKeyDetail(param types.KeyDetailParam) (resp types.JS
10611061
for i := 0; i < len(loadedVal); i += 2 {
10621062
if score, err = strconv.ParseFloat(loadedVal[i+1], 64); err == nil {
10631063
items = append(items, types.ZSetEntryItem{
1064-
Value: loadedVal[i],
1064+
Value: strutil.EncodeRedisKey(loadedVal[i]),
10651065
Score: score,
10661066
})
10671067
if doConvert {
@@ -1095,7 +1095,7 @@ func (b *browserService) GetKeyDetail(param types.KeyDetailParam) (resp types.JS
10951095
continue
10961096
}
10971097
entry := types.ZSetEntryItem{
1098-
Value: val,
1098+
Value: strutil.EncodeRedisKey(val),
10991099
}
11001100
if math.IsInf(z.Score, 1) {
11011101
entry.ScoreStr = "+inf"

backend/types/redis_wrapper.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ type SetEntryItem struct {
3333
type ZSetEntryItem struct {
3434
Score float64 `json:"s"`
3535
ScoreStr string `json:"ss,omitempty"`
36-
Value string `json:"v"`
36+
Value any `json:"v"`
3737
DisplayValue string `json:"dv,omitempty"`
3838
}
3939

frontend/src/components/content_value/ContentValueList.vue

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import { TextAlignType } from '@/consts/text_align_type.js'
2222
import AlignLeft from '@/components/icons/AlignLeft.vue'
2323
import AlignCenter from '@/components/icons/AlignCenter.vue'
2424
import SwitchButton from '@/components/common/SwitchButton.vue'
25+
import { nativeRedisKey } from '@/utils/key_convert.js'
2526
2627
const i18n = useI18n()
2728
const themeVars = useThemeVars()
@@ -105,17 +106,16 @@ const valueColumn = computed(() => ({
105106
},
106107
filterOptionValue: valueFilterOption.value,
107108
className: inEdit.value ? 'clickable' : '',
108-
filter: (value, row) => {
109-
if (row.dv) {
110-
return !!~row.dv.indexOf(value.toString())
111-
}
112-
return !!~row.v.indexOf(value.toString())
109+
filter: (filterValue, row) => {
110+
const val = row.dv || nativeRedisKey(row.v)
111+
return !!~val.indexOf(filterValue.toString())
113112
},
114113
render: (row) => {
114+
const val = row.dv || nativeRedisKey(row.v)
115115
if (isCode.value) {
116-
return h('pre', { class: 'pre-wrap' }, row.dv || row.v)
116+
return h('pre', { class: 'pre-wrap' }, val)
117117
}
118-
return row.dv || row.v
118+
return val
119119
},
120120
}))
121121

frontend/src/components/content_value/ContentValueSet.vue

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import AlignLeft from '@/components/icons/AlignLeft.vue'
2222
import AlignCenter from '@/components/icons/AlignCenter.vue'
2323
import SwitchButton from '@/components/common/SwitchButton.vue'
2424
import { TextAlignType } from '@/consts/text_align_type.js'
25+
import { nativeRedisKey } from '@/utils/key_convert.js'
2526
2627
const i18n = useI18n()
2728
const themeVars = useThemeVars()
@@ -104,17 +105,16 @@ const valueColumn = computed(() => ({
104105
},
105106
filterOptionValue: valueFilterOption.value,
106107
className: inEdit.value ? 'clickable' : '',
107-
filter: (value, row) => {
108-
if (row.dv) {
109-
return !!~row.dv.indexOf(value.toString())
110-
}
111-
return !!~row.v.indexOf(value.toString())
108+
filter: (filterValue, row) => {
109+
const val = row.dv || nativeRedisKey(row.v)
110+
return !!~val.indexOf(filterValue.toString())
112111
},
113112
render: (row) => {
113+
const val = row.dv || nativeRedisKey(row.v)
114114
if (isCode.value) {
115-
return h('pre', { class: 'pre-wrap' }, row.dv || row.v)
115+
return h('pre', { class: 'pre-wrap' }, val)
116116
}
117-
return row.dv || row.v
117+
return val
118118
},
119119
}))
120120

frontend/src/components/content_value/ContentValueZSet.vue

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import { TextAlignType } from '@/consts/text_align_type.js'
2222
import AlignLeft from '@/components/icons/AlignLeft.vue'
2323
import AlignCenter from '@/components/icons/AlignCenter.vue'
2424
import SwitchButton from '@/components/common/SwitchButton.vue'
25+
import { nativeRedisKey } from '@/utils/key_convert.js'
2526
2627
const i18n = useI18n()
2728
const themeVars = useThemeVars()
@@ -153,18 +154,17 @@ const valueColumn = computed(() => ({
153154
},
154155
filterOptionValue: valueFilterOption.value,
155156
className: inEdit.value ? 'clickable' : '',
156-
filter(value, row) {
157-
if (row.dv) {
158-
return !!~row.dv.indexOf(value.toString())
159-
}
160-
return !!~row.v.indexOf(value.toString())
157+
filter(filterValue, row) {
158+
const val = row.dv || nativeRedisKey(row.v)
159+
return !!~val.indexOf(filterValue.toString())
161160
},
162161
// sorter: (row1, row2) => row1.value - row2.value,
163162
render: (row) => {
163+
const val = row.dv || nativeRedisKey(row.v)
164164
if (isCode.value) {
165-
return h('pre', { class: 'pre-wrap' }, row.dv || row.v)
165+
return h('pre', { class: 'pre-wrap' }, val)
166166
}
167-
return row.dv || row.v
167+
return val
168168
},
169169
}))
170170

0 commit comments

Comments
 (0)