From e1a891fdc0560b2be0ce7c0067a292b8326361cc Mon Sep 17 00:00:00 2001 From: shy Date: Fri, 2 Feb 2024 22:26:57 +0800 Subject: [PATCH] add some --- base/mdb/hash.go | 26 ++++++++++++-------------- base/mdb/zone.go | 2 ++ base/web/admin.go | 6 +++--- render.go | 3 ++- 4 files changed, 19 insertions(+), 18 deletions(-) diff --git a/base/mdb/hash.go b/base/mdb/hash.go index 103a2fd1..78869fca 100644 --- a/base/mdb/hash.go +++ b/base/mdb/hash.go @@ -279,20 +279,7 @@ func HashSelect(m *ice.Message, arg ...string) *ice.Message { m.Options(ice.TABLE_CHECKBOX, Config(m, html.CHECKBOX)) return m.Action(CREATE, PRUNES) } - m.Table(func(value ice.Maps) { - m.SetAppend().OptionFields(ice.FIELDS_DETAIL) - kit.For(kit.Split(HashField(m)), func(key string) { - key = strings.TrimSuffix(key, "*") - if key == HASH { - m.Push(key, arg[0]) - } else { - m.Push(key, value[key]) - } - delete(value, key) - }) - kit.For(kit.SortedKey(value), func(k string) { m.Push(k, value[k]) }) - }) - return m + return sortByField(m, HashField(m)) } func HashPrunes(m *ice.Message, cb func(Map) bool) *ice.Message { expire := kit.Select(m.Time("-"+kit.Select(DAYS, Config(m, EXPIRE))), m.Option("before")) @@ -404,3 +391,14 @@ func Rich(m *ice.Message, prefix string, chain Any, data Any) string { kit.If(cache == nil, func() { cache = kit.Data(); m.Confv(prefix, chain, cache) }) return miss.Rich(path.Join(prefix, kit.Keys(chain)), cache, data) } +func sortByField(m *ice.Message, fields string) *ice.Message { + return m.Table(func(value ice.Maps) { + m.SetAppend().OptionFields(ice.FIELDS_DETAIL) + kit.For(kit.Split(fields), func(key string) { + key = strings.TrimSuffix(key, "*") + m.Push(key, value[key]) + delete(value, key) + }) + kit.For(kit.SortedKey(value), func(k string) { m.Push(k, value[k]) }) + }) +} diff --git a/base/mdb/zone.go b/base/mdb/zone.go index 11e384ac..dfdbb0e7 100644 --- a/base/mdb/zone.go +++ b/base/mdb/zone.go @@ -248,6 +248,8 @@ func ZoneSelect(m *ice.Message, arg ...string) *ice.Message { m.Sort(ZoneShort(m)).PushAction(Config(m, ACTION), REMOVE).Action(CREATE) } else if len(arg) == 1 { m.Action(INSERT).StatusTimeCountTotal(_zone_meta(m, m.PrefixKey(), kit.Keys(HASH, HashSelectField(m, arg[0], HASH)), COUNT), "step", "0") + } else { + sortByField(m, ZoneField(m)) } return m } diff --git a/base/web/admin.go b/base/web/admin.go index 4d3006ee..bd127977 100644 --- a/base/web/admin.go +++ b/base/web/admin.go @@ -56,10 +56,10 @@ func init() { }}, }) } -func AdminCmd(m *ice.Message, cmd string, arg ...string) string { +func AdminCmd(m *ice.Message, cmd string, arg ...ice.Any) string { if ice.Info.NodeType == WORKER { - return m.Cmdx(SPACE, ice.OPS, cmd, arg) + return m.Cmdx(append([]ice.Any{SPACE, ice.OPS, cmd}, arg...)...) } else { - return m.Cmdx(cmd, arg) + return m.Cmdx(append([]ice.Any{cmd}, arg...)...) } } diff --git a/render.go b/render.go index 2852b5d9..721f314f 100644 --- a/render.go +++ b/render.go @@ -256,5 +256,6 @@ func (m *Message) resource(file string) string { p = strings.Split(p, "/pkg/mod/")[1] } kit.If(file == "", func() { p = kit.ExtChange(p, JS) }, func() { p = path.Join(path.Dir(p), file) }) - return m.MergeLink("/require/"+p, POD, m.Option(MSG_USERPOD)) + return "/require/" + p + // return m.MergeLink("/require/"+p, POD, m.Option(MSG_USERPOD)) }