Compare commits
No commits in common. "77541ed3716517b32c15518d024d8847bf7670a7" and "d61eb1323f086f04495b13eb2bf675b31c74ae04" have entirely different histories.
77541ed371
...
d61eb1323f
|
@ -4,5 +4,3 @@ const DEFAULT_FONT_SIZE = 14
|
||||||
const DEFAULT_ASIDE_WIDTH = 300
|
const DEFAULT_ASIDE_WIDTH = 300
|
||||||
const DEFAULT_WINDOW_WIDTH = 1024
|
const DEFAULT_WINDOW_WIDTH = 1024
|
||||||
const DEFAULT_WINDOW_HEIGHT = 768
|
const DEFAULT_WINDOW_HEIGHT = 768
|
||||||
const MIN_WINDOW_WIDTH = 960
|
|
||||||
const MIN_WINDOW_HEIGHT = 640
|
|
||||||
|
|
|
@ -1343,36 +1343,22 @@ func (c *connectionService) DeleteKey(connName string, db int, k any, async bool
|
||||||
// delete by prefix
|
// delete by prefix
|
||||||
var mutex sync.Mutex
|
var mutex sync.Mutex
|
||||||
del := func(ctx context.Context, cli redis.UniversalClient) error {
|
del := func(ctx context.Context, cli redis.UniversalClient) error {
|
||||||
handleDel := func(ks []string) error {
|
|
||||||
pipe := cli.Pipeline()
|
|
||||||
for _, k2 := range ks {
|
|
||||||
if async {
|
|
||||||
cli.Unlink(ctx, k2)
|
|
||||||
} else {
|
|
||||||
cli.Del(ctx, k2)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
pipe.Exec(ctx)
|
|
||||||
|
|
||||||
mutex.Lock()
|
|
||||||
deletedKeys = append(deletedKeys, ks...)
|
|
||||||
mutex.Unlock()
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
iter := cli.Scan(ctx, 0, key, 10000).Iterator()
|
iter := cli.Scan(ctx, 0, key, 10000).Iterator()
|
||||||
resultKeys := make([]string, 0, 100)
|
var fn func(c context.Context, ks ...string) *redis.IntCmd
|
||||||
for iter.Next(ctx) {
|
if async {
|
||||||
resultKeys = append(resultKeys, iter.Val())
|
fn = cli.Unlink
|
||||||
if len(resultKeys) >= 3 {
|
} else {
|
||||||
handleDel(resultKeys)
|
fn = cli.Del
|
||||||
resultKeys = resultKeys[:0:cap(resultKeys)]
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
for iter.Next(ctx) {
|
||||||
if len(resultKeys) > 0 {
|
subKey := iter.Val()
|
||||||
handleDel(resultKeys)
|
if err = fn(ctx, subKey).Err(); err != nil {
|
||||||
|
return err
|
||||||
|
} else {
|
||||||
|
mutex.Lock()
|
||||||
|
deletedKeys = append(deletedKeys, subKey)
|
||||||
|
mutex.Unlock()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,7 +113,7 @@ func (p *preferencesService) GetAppVersion() (resp types.JSResp) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *preferencesService) SaveWindowSize(width, height int) {
|
func (p *preferencesService) SaveWindowSize(width, height int) {
|
||||||
if width >= consts.MIN_WINDOW_WIDTH && height >= consts.MIN_WINDOW_HEIGHT {
|
if width >= consts.DEFAULT_WINDOW_WIDTH && height >= consts.DEFAULT_WINDOW_HEIGHT {
|
||||||
p.UpdatePreferences(map[string]any{
|
p.UpdatePreferences(map[string]any{
|
||||||
"behavior.windowWidth": width,
|
"behavior.windowWidth": width,
|
||||||
"behavior.windowHeight": height,
|
"behavior.windowHeight": height,
|
||||||
|
|
|
@ -6,7 +6,6 @@ import (
|
||||||
"log"
|
"log"
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
"tinyrdm/backend/consts"
|
|
||||||
"tinyrdm/backend/types"
|
"tinyrdm/backend/types"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -29,18 +28,6 @@ func System() *systemService {
|
||||||
|
|
||||||
func (s *systemService) Start(ctx context.Context) {
|
func (s *systemService) Start(ctx context.Context) {
|
||||||
s.ctx = ctx
|
s.ctx = ctx
|
||||||
|
|
||||||
// maximize the window if screen size is lower than the minimum window size
|
|
||||||
if screen, err := runtime.ScreenGetAll(ctx); err == nil && len(screen) > 0 {
|
|
||||||
for _, sc := range screen {
|
|
||||||
if sc.IsCurrent {
|
|
||||||
if sc.Size.Width < consts.MIN_WINDOW_WIDTH || sc.Size.Height < consts.MIN_WINDOW_HEIGHT {
|
|
||||||
runtime.WindowMaximise(ctx)
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// SelectFile open file dialog to select a file
|
// SelectFile open file dialog to select a file
|
||||||
|
|
|
@ -47,8 +47,8 @@ func (p *PreferencesStorage) GetPreferences() (ret types.Preferences) {
|
||||||
|
|
||||||
ret = p.getPreferences()
|
ret = p.getPreferences()
|
||||||
ret.Behavior.AsideWidth = max(ret.Behavior.AsideWidth, consts.DEFAULT_ASIDE_WIDTH)
|
ret.Behavior.AsideWidth = max(ret.Behavior.AsideWidth, consts.DEFAULT_ASIDE_WIDTH)
|
||||||
ret.Behavior.WindowWidth = max(ret.Behavior.WindowWidth, consts.MIN_WINDOW_WIDTH)
|
ret.Behavior.WindowWidth = max(ret.Behavior.WindowWidth, consts.DEFAULT_WINDOW_WIDTH)
|
||||||
ret.Behavior.WindowHeight = max(ret.Behavior.WindowHeight, consts.MIN_WINDOW_HEIGHT)
|
ret.Behavior.WindowHeight = max(ret.Behavior.WindowHeight, consts.DEFAULT_WINDOW_HEIGHT)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -529,7 +529,7 @@ const getValueMenu = () => {
|
||||||
|
|
||||||
// render menu function icon
|
// render menu function icon
|
||||||
const renderSuffix = ({ option }) => {
|
const renderSuffix = ({ option }) => {
|
||||||
if ((option.type === ConnectionType.RedisDB && option.opened) || includes(selectedKeys.value, option.key)) {
|
if (includes(selectedKeys.value, option.key)) {
|
||||||
switch (option.type) {
|
switch (option.type) {
|
||||||
case ConnectionType.RedisDB:
|
case ConnectionType.RedisDB:
|
||||||
return renderIconMenu(getDatabaseMenu(option.opened))
|
return renderIconMenu(getDatabaseMenu(option.opened))
|
||||||
|
|
4
main.go
4
main.go
|
@ -44,8 +44,8 @@ func main() {
|
||||||
Title: "Tiny RDM",
|
Title: "Tiny RDM",
|
||||||
Width: windowWidth,
|
Width: windowWidth,
|
||||||
Height: windowHeight,
|
Height: windowHeight,
|
||||||
MinWidth: consts.MIN_WINDOW_WIDTH,
|
MinWidth: consts.DEFAULT_WINDOW_WIDTH,
|
||||||
MinHeight: consts.MIN_WINDOW_HEIGHT,
|
MinHeight: consts.DEFAULT_WINDOW_HEIGHT,
|
||||||
Frameless: runtime.GOOS != "darwin",
|
Frameless: runtime.GOOS != "darwin",
|
||||||
Menu: appMenu,
|
Menu: appMenu,
|
||||||
AssetServer: &assetserver.Options{
|
AssetServer: &assetserver.Options{
|
||||||
|
|
Loading…
Reference in New Issue