From c27f669787f2c87a4cda21282f622765a125fe38 Mon Sep 17 00:00:00 2001 From: harveyshao Date: Sun, 6 Nov 2022 21:41:38 +0800 Subject: [PATCH] opt some --- core/wiki/draw.go | 5 ++--- core/wiki/wiki.go | 7 +++++++ misc.go | 51 +++++++++++++++++++---------------------------- 3 files changed, 30 insertions(+), 33 deletions(-) diff --git a/core/wiki/draw.go b/core/wiki/draw.go index dc2f763e..d22257ef 100644 --- a/core/wiki/draw.go +++ b/core/wiki/draw.go @@ -7,14 +7,13 @@ import ( "shylinux.com/x/icebergs/base/ctx" "shylinux.com/x/icebergs/base/mdb" "shylinux.com/x/icebergs/base/nfs" - kit "shylinux.com/x/toolkits" ) const DRAW = "draw" func init() { Index.MergeCommands(ice.Commands{ - DRAW: {Name: "draw path=src/main.svg pid:text refresh:button=auto save edit actions", Help: "思维导图", Actions: ice.MergeActions(ice.Actions{ + DRAW: {Name: "draw path=src/main.svg@key pid refresh save edit actions", Help: "思维导图", Actions: ice.MergeActions(ice.Actions{ ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) { m.Cmd(mdb.RENDER, mdb.CREATE, mdb.TYPE, nfs.SVG, mdb.NAME, m.PrefixKey()) }}, @@ -23,7 +22,7 @@ func init() { m.Cmdy(nfs.CAT, path.Join(arg[2], arg[1])) }}, }, WikiAction("", nfs.SVG), ctx.CmdAction()), Hand: func(m *ice.Message, arg ...string) { - if !_wiki_list(m, kit.Select(nfs.PWD, arg, 0)) { + if !_wiki_list(m, arg...) { _wiki_show(m, arg[0]) } }}, diff --git a/core/wiki/wiki.go b/core/wiki/wiki.go index 98ccd747..4bb1f435 100644 --- a/core/wiki/wiki.go +++ b/core/wiki/wiki.go @@ -83,6 +83,13 @@ func WikiAction(dir string, ext ...string) ice.Actions { web.UPLOAD: {Hand: func(m *ice.Message, arg ...string) { _wiki_upload(m, m.Option(nfs.PATH)) }}, nfs.SAVE: {Name: "save path text", Hand: func(m *ice.Message, arg ...string) { _wiki_save(m, m.Option(nfs.PATH), m.Option(mdb.TEXT)) }}, nfs.TRASH: {Hand: func(m *ice.Message, arg ...string) { m.Cmd(nfs.TRASH, _wiki_path(m, m.Option(nfs.PATH))) }}, + mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) { + switch arg[0] { + case nfs.PATH: + m.Option(nfs.DIR_REG, m.Config(lex.REGEXP)) + m.Cmdy(nfs.DIR, path.Join(m.Config(nfs.PATH), kit.Select("", arg, 1))) + } + }}, } } diff --git a/misc.go b/misc.go index 1d57d4a0..64fc4f08 100644 --- a/misc.go +++ b/misc.go @@ -382,8 +382,8 @@ func SplitCmd(name string, actions Actions) (list []Any) { BUTTON = "button" ) const ( - REFRESH = "refresh" RUN = "run" + REFRESH = "refresh" LIST = "list" BACK = "back" AUTO = "auto" @@ -392,43 +392,36 @@ func SplitCmd(name string, actions Actions) (list []Any) { ) item, button := kit.Dict(), false + push := func(arg ...string) { + button = kit.Select("", arg, 0) == BUTTON + item = kit.Dict(TYPE, kit.Select("", arg, 0), NAME, kit.Select("", arg, 1), ACTION, kit.Select("", arg, 2)) + list = append(list, item) + } ls := kit.Split(name, SP, "*:=@") for i := 1; i < len(ls); i++ { switch ls[i] { - case REFRESH: - list = append(list, kit.Dict(TYPE, BUTTON, NAME, ls[i], ACTION, AUTO)) - button = true case RUN: - list = append(list, kit.Dict(TYPE, BUTTON, NAME, ls[i])) - button = true + push(BUTTON, ls[i]) + case REFRESH: + push(BUTTON, ls[i], AUTO) case LIST: - list = append(list, kit.Dict(TYPE, BUTTON, NAME, ls[i], ACTION, AUTO)) - button = true + push(BUTTON, ls[i], AUTO) case AUTO: - list = append(list, kit.Dict(TYPE, BUTTON, NAME, LIST, ACTION, AUTO)) - list = append(list, kit.Dict(TYPE, BUTTON, NAME, BACK)) - button = true + push(BUTTON, LIST, AUTO) + push(BUTTON, BACK, AUTO) case PAGE: - list = append(list, kit.Dict(TYPE, TEXT, NAME, "limit")) - list = append(list, kit.Dict(TYPE, TEXT, NAME, "offend")) - list = append(list, kit.Dict(TYPE, BUTTON, NAME, "prev")) - list = append(list, kit.Dict(TYPE, BUTTON, NAME, "next")) + push(TEXT, "limit") + push(TEXT, "offend") + push(BUTTON, "prev") + push(BUTTON, "next") case ARGS, TEXT, TEXTAREA: - item = kit.Dict(TYPE, TEXTAREA, NAME, ls[i]) - list = append(list, item) - + push(TEXTAREA, ls[i]) case PASSWORD: - item = kit.Dict(TYPE, PASSWORD, NAME, ls[i]) - list = append(list, item) - + push(PASSWORD, ls[i]) case "image": - item = kit.Dict(TYPE, TEXT, NAME, ls[i], ACTION, "img") - list = append(list, item) - + push(TEXT, ls[i], "img") case "time": - item = kit.Dict(TYPE, TEXT, NAME, ls[i], ACTION, "date") - list = append(list, item) - + push(TEXT, ls[i], "date") case "*": item["need"] = "must" case DF: @@ -453,10 +446,8 @@ func SplitCmd(name string, actions Actions) (list []Any) { case AT: item[ACTION] = kit.Select("", ls, i+1) i++ - default: - item = kit.Dict(TYPE, kit.Select(TEXT, BUTTON, button || actions != nil && actions[ls[i]] != nil), NAME, ls[i]) - list = append(list, item) + push(kit.Select(TEXT, BUTTON, button || actions != nil && actions[ls[i]] != nil), ls[i]) } } return list