forked from x/icebergs
opt some
This commit is contained in:
parent
20ebcc4754
commit
762bb6056f
@ -20,7 +20,7 @@ func _dream_list(m *ice.Message) *ice.Message {
|
||||
m.Push(mdb.TYPE, val[mdb.TYPE])
|
||||
m.Push(cli.STATUS, cli.START)
|
||||
m.PushButton("edit", "open", cli.STOP)
|
||||
m.PushAnchor(strings.Split(m.MergePOD(value[mdb.NAME]), "?")[0])
|
||||
m.PushAnchor(strings.Split(m.MergePod(value[mdb.NAME]), "?")[0])
|
||||
}) == nil {
|
||||
m.Push(mdb.TYPE, WORKER)
|
||||
m.Push(cli.STATUS, cli.STOP)
|
||||
@ -33,8 +33,8 @@ func _dream_show(m *ice.Message, name string) {
|
||||
if !strings.Contains(name, "-") || !strings.HasPrefix(name, "20") {
|
||||
name = m.Time("20060102-") + kit.ReplaceAll(name, "-", "_")
|
||||
}
|
||||
defer m.ProcessOpen(m.MergePOD(m.Option(mdb.NAME, name)))
|
||||
defer m.Echo(m.MergePOD(m.Option(mdb.NAME, name)))
|
||||
defer m.ProcessOpen(m.MergePod(m.Option(mdb.NAME, name)))
|
||||
defer m.Echo(m.MergePod(m.Option(mdb.NAME, name)))
|
||||
|
||||
// 任务目录
|
||||
p := path.Join(m.Config(nfs.PATH), name)
|
||||
@ -115,10 +115,10 @@ func init() {
|
||||
_dream_show(m, m.Option(mdb.NAME, kit.Select(path.Base(m.Option(nfs.REPOS)), m.Option(mdb.NAME))))
|
||||
}},
|
||||
"open": {Name: "open", Help: "打开", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.ProcessOpen(m.MergePOD(m.Option(mdb.NAME), "", ""))
|
||||
m.ProcessOpen(m.MergePod(m.Option(mdb.NAME), "", ""))
|
||||
}},
|
||||
"edit": {Name: "edit", Help: "编辑", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.ProcessOpen(m.MergePOD(m.Option(mdb.NAME)+"/cmd/web.code.vimer", "", ""))
|
||||
m.ProcessOpen(m.MergePod(m.Option(mdb.NAME)+"/cmd/web.code.vimer", "", ""))
|
||||
}},
|
||||
cli.STOP: {Name: "stop", Help: "停止", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(SPACE, mdb.MODIFY, m.OptionSimple(mdb.NAME), mdb.STATUS, cli.STOP)
|
||||
|
@ -179,8 +179,8 @@ func _website_render(m *ice.Message, w http.ResponseWriter, r *http.Request, kin
|
||||
return true
|
||||
}
|
||||
func _website_search(m *ice.Message, kind, name, text string, arg ...string) {
|
||||
m.Cmd(m.PrefixKey()).Table(func(index int, value map[string]string, head []string) {
|
||||
m.PushSearch(value, mdb.TEXT, m.MergeURL2(path.Join("/chat/website", value[nfs.PATH])))
|
||||
m.Cmd(m.PrefixKey(), ice.OptionFields("")).Table(func(index int, value map[string]string, head []string) {
|
||||
m.PushSearch(value, mdb.TEXT, m.MergeWebsite(value[nfs.PATH]))
|
||||
})
|
||||
}
|
||||
|
||||
@ -216,13 +216,21 @@ func init() {
|
||||
})
|
||||
}},
|
||||
"show": {Hand: func(m *ice.Message, arg ...string) {
|
||||
if text := m.Cmd(m.PrefixKey(), ice.PS+arg[0]).Append(mdb.TEXT); text != "" {
|
||||
if res, ok := _website_parse(m, text, arg[1:]...); ok {
|
||||
m.Echo(_website_template2, kit.Format(res))
|
||||
return
|
||||
}
|
||||
}
|
||||
if res, ok := _website_parse(m, m.Cmdx(nfs.CAT, path.Join(SRC_WEBSITE, arg[0])), arg[1:]...); ok {
|
||||
m.Echo(_website_template2, kit.Format(res))
|
||||
}
|
||||
}},
|
||||
"inner": {Hand: func(m *ice.Message, arg ...string) {}},
|
||||
mdb.SEARCH: {Hand: func(m *ice.Message, arg ...string) {
|
||||
if arg[0] == mdb.FOREACH && arg[1] == "" {
|
||||
_website_search(m, arg[0], arg[1], kit.Select("", arg, 2))
|
||||
}
|
||||
}},
|
||||
mdb.RENDER: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.EchoIFrame(_website_url(m, strings.TrimPrefix(path.Join(arg[2], arg[1]), SRC_WEBSITE)))
|
||||
@ -256,7 +264,7 @@ func init() {
|
||||
}},
|
||||
}, mdb.HashAction()), Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
mdb.HashSelect(m, arg...).Table(func(index int, value map[string]string, head []string) {
|
||||
m.PushAnchor(m.MergeLink(value[nfs.PATH]))
|
||||
m.PushAnchor(m.MergeWebsite(value[nfs.PATH]))
|
||||
})
|
||||
if len(arg) == 0 {
|
||||
m.Cmd(nfs.DIR, SRC_WEBSITE, func(f os.FileInfo, p string) {
|
||||
|
@ -37,7 +37,9 @@ func init() {
|
||||
m.Cmdy(TEMPLATE, nfs.DEFS)
|
||||
}},
|
||||
mdb.SEARCH: {Name: "search type name text", Help: "搜索", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.PushSearch(mdb.TYPE, "go", mdb.NAME, "src/main.go", mdb.TEXT, m.MergeURL2("/chat/cmd/web.code.vimer"))
|
||||
if arg[0] == mdb.FOREACH && arg[1] == "" {
|
||||
m.PushSearch(mdb.TYPE, "go", mdb.NAME, "src/main.go", mdb.TEXT, m.MergeCmd(""))
|
||||
}
|
||||
}},
|
||||
mdb.INPUTS: {Name: "inputs", Help: "补全", Hand: func(m *ice.Message, arg ...string) {
|
||||
switch m.Option(ctx.ACTION) {
|
||||
|
@ -76,6 +76,11 @@ func init() {
|
||||
mdb.PLUGIN: {Name: "plugin extra.ctx extra.cmd extra.arg", Help: "插件", Hand: func(m *ice.Message, arg ...string) {
|
||||
_task_modify(m, arg[0], arg[1], arg[2:]...)
|
||||
}},
|
||||
mdb.SEARCH: {Name: "search", Help: "搜索", Hand: func(m *ice.Message, arg ...string) {
|
||||
if arg[0] == mdb.FOREACH && arg[1] == "" {
|
||||
m.PushSearch(mdb.TYPE, "plan", mdb.NAME, "", mdb.TEXT, m.MergeCmd(""))
|
||||
}
|
||||
}},
|
||||
ice.RUN: {Name: "run", Help: "执行", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Option(ice.POD, m.Option("task.pod"))
|
||||
m.Option("task.pod", "")
|
||||
|
@ -39,7 +39,9 @@ func init() {
|
||||
}, Commands: map[string]*ice.Command{
|
||||
WORD: {Name: "word path=src/main.shy@key auto play", Help: "语言文字", Meta: kit.Dict(ice.DisplayLocal("")), Action: ice.MergeAction(map[string]*ice.Action{
|
||||
mdb.SEARCH: {Name: "search", Help: "搜索", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.PushSearch(mdb.TYPE, "shy", mdb.NAME, "src/main.shy", mdb.TEXT, m.MergeURL2("/chat/cmd/web.wiki.word"))
|
||||
if arg[0] == mdb.FOREACH && arg[1] == "" {
|
||||
m.PushSearch(mdb.TYPE, "shy", mdb.NAME, "src/main.shy", mdb.TEXT, m.MergeCmd(""))
|
||||
}
|
||||
m.Cmd(mdb.SELECT, m.PrefixKey(), "", mdb.HASH).Table(func(index int, value map[string]string, head []string) {
|
||||
if arg[1] == "" {
|
||||
if value[mdb.TYPE] == SPARK {
|
||||
|
1
info.go
1
info.go
@ -71,6 +71,7 @@ func FileKey(dir string) string {
|
||||
if Info.Make.Path != "" && strings.HasPrefix(dir, Info.Make.Path+PS) {
|
||||
dir = strings.TrimPrefix(dir, Info.Make.Path+PS)
|
||||
}
|
||||
// println("what ", dir, kit.Path(""), Info.Make.Path)
|
||||
if strings.HasPrefix(dir, kit.Path("")+PS) {
|
||||
dir = strings.TrimPrefix(dir, kit.Path("")+PS)
|
||||
}
|
||||
|
18
misc.go
18
misc.go
@ -4,6 +4,7 @@ import (
|
||||
"bytes"
|
||||
"encoding/csv"
|
||||
"net/url"
|
||||
"path"
|
||||
"reflect"
|
||||
"strings"
|
||||
|
||||
@ -171,9 +172,24 @@ func (m *Message) MergeLink(url string, arg ...interface{}) string {
|
||||
func (m *Message) MergeURL2(url string, arg ...interface{}) string {
|
||||
return kit.MergeURL2(m.Option(MSG_USERWEB), url, arg...)
|
||||
}
|
||||
func (m *Message) MergePOD(name string, arg ...interface{}) string {
|
||||
func (m *Message) MergePod(name string, arg ...interface{}) string {
|
||||
return kit.MergePOD(kit.Select(Info.Domain, m.Option(MSG_USERWEB)), name, arg...)
|
||||
}
|
||||
func (m *Message) MergeCmd(name string, arg ...interface{}) string {
|
||||
if name == "" {
|
||||
name = m.PrefixKey()
|
||||
}
|
||||
if m.Option(MSG_USERPOD) == "" {
|
||||
return kit.MergeURL2(kit.Select(Info.Domain, m.Option(MSG_USERWEB)), path.Join("/chat/cmd", name))
|
||||
}
|
||||
return kit.MergeURL2(kit.Select(Info.Domain, m.Option(MSG_USERWEB)), path.Join("cmd", name), arg...)
|
||||
}
|
||||
func (m *Message) MergeWebsite(name string, arg ...interface{}) string {
|
||||
if m.Option(MSG_USERPOD) == "" {
|
||||
return kit.MergeURL2(kit.Select(Info.Domain, m.Option(MSG_USERWEB)), path.Join("/chat/website", name))
|
||||
}
|
||||
return kit.MergeURL2(kit.Select(Info.Domain, m.Option(MSG_USERWEB)), path.Join("website", name), arg...)
|
||||
}
|
||||
|
||||
func (m *Message) cmd(arg ...interface{}) *Message {
|
||||
opts := map[string]interface{}{}
|
||||
|
@ -9,13 +9,27 @@ const GRANT = "grant"
|
||||
|
||||
func init() {
|
||||
Index.Merge(&ice.Context{Commands: map[string]*ice.Command{
|
||||
"grant": {Name: "grant sid auto", Help: "授权", Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
if len(arg) > 0 {
|
||||
if m.Confirm("grant "+arg[0]+"?") == ice.TRUE {
|
||||
m.Cmdy(SESS, mdb.MODIFY, GRANT, m.Option(ice.MSG_USERNAME), ice.Option{mdb.HASH, arg[0]})
|
||||
"grant": {Name: "grant hash auto", Help: "授权", Action: ice.MergeAction(map[string]*ice.Action{
|
||||
"confirm": {Name: "confirm", Help: "同意", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmd(SESS, mdb.MODIFY, GRANT, m.Option(ice.MSG_USERNAME), ice.Option{mdb.HASH, m.Option("hash")})
|
||||
}},
|
||||
"revert": {Name: "confirm", Help: "撤销", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmd(SESS, mdb.MODIFY, GRANT, "", ice.Option{mdb.HASH, m.Option("hash")})
|
||||
}},
|
||||
"remove": {Name: "remove", Help: "删除", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmd(SESS, mdb.REMOVE, mdb.HASH, m.Option(mdb.HASH))
|
||||
}},
|
||||
}, mdb.HashAction()), Hand: func(m *ice.Message, c *ice.Context, cmd string, arg ...string) {
|
||||
if m.Cmdy(SESS, arg); len(arg) > 0 && m.Append("grant") == "" {
|
||||
m.Process("_confirm", "授权设备")
|
||||
}
|
||||
m.Table(func(index int, value map[string]string, head []string) {
|
||||
if value["grant"] == "" {
|
||||
m.PushButton("confirm", mdb.REMOVE)
|
||||
} else {
|
||||
m.PushButton("revert", mdb.REMOVE)
|
||||
}
|
||||
m.Cmdy(SESS, arg)
|
||||
})
|
||||
}},
|
||||
}})
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user