forked from x/icebergs
opt some
This commit is contained in:
parent
78afcfeb60
commit
ce833a87e3
@ -24,11 +24,14 @@ func init() {
|
||||
DREAM_TABLES: {Hand: func(m *ice.Message, arg ...string) { m.PushButton(kit.Dict(ADMIN, "后台")) }},
|
||||
DREAM_ACTION: {Hand: func(m *ice.Message, arg ...string) {
|
||||
if kit.HasPrefixList(arg, ctx.ACTION, ADMIN) && len(arg) == 2 {
|
||||
link := m.MergePodCmd(m.Option(mdb.NAME), "")
|
||||
if m.Option(mdb.TYPE) == MASTER {
|
||||
ctx.ProcessField(m, CHAT_IFRAME, SpideOrigin(m, m.Option(mdb.NAME))+C(m.PrefixKey()), arg...)
|
||||
m.ProcessField(ctx.ACTION, ctx.RUN, CHAT_IFRAME)
|
||||
link = SpideOrigin(m, m.Option(mdb.NAME)) + C(m.PrefixKey())
|
||||
}
|
||||
if m.IsMetaKey() {
|
||||
m.ProcessOpen(link)
|
||||
} else {
|
||||
ctx.ProcessField(m, CHAT_IFRAME, m.MergePodCmd(m.Option(mdb.NAME), ""), arg...)
|
||||
ctx.ProcessFloat(m, CHAT_IFRAME, link, arg...)
|
||||
m.ProcessField(ctx.ACTION, ctx.RUN, CHAT_IFRAME)
|
||||
}
|
||||
}
|
||||
|
@ -428,10 +428,8 @@ func init() {
|
||||
kit.If(stat[cli.START] == stat[WORKER], func() { delete(stat, cli.START) })
|
||||
m.Sort("type,status,name", []string{aaa.LOGIN, WORKER, SERVER, MASTER}, []string{cli.START, cli.STOP, cli.BEGIN}, ice.STR_R).StatusTimeCount(stat)
|
||||
ctx.DisplayTableCard(m)
|
||||
if ice.Info.NodeType == WORKER {
|
||||
return
|
||||
}
|
||||
if m.IsCliUA() {
|
||||
if ice.Info.NodeType == WORKER || !aaa.IsTechOrRoot(m) || m.IsCliUA() {
|
||||
m.Action()
|
||||
return
|
||||
}
|
||||
kit.If(cli.SystemFind(m, "go"), func() {
|
||||
@ -455,7 +453,7 @@ func DreamAction() ice.Actions {
|
||||
}
|
||||
func DreamProcess(m *ice.Message, args ice.Any, arg ...string) {
|
||||
if kit.HasPrefixList(arg, ctx.RUN) {
|
||||
ctx.ProcessField(m, m.PrefixKey(), args, kit.Slice(arg, 1)...)
|
||||
ctx.ProcessFloat(m, m.PrefixKey(), args, kit.Slice(arg, 1)...)
|
||||
} else if kit.HasPrefixList(arg, ctx.ACTION, m.PrefixKey()) || kit.HasPrefixList(arg, ctx.ACTION, m.CommandKey()) {
|
||||
if m.Option(mdb.TYPE) == MASTER && (kit.IsIn(ctx.ShortCmd(m.PrefixKey()), PORTAL, DESKTOP)) {
|
||||
if ProcessIframe(m, "", SpideOrigin(m, m.Option(mdb.NAME))+C(m.PrefixKey()), arg...); !m.IsMetaKey() {
|
||||
|
@ -19,13 +19,13 @@ const STORE = "store"
|
||||
func init() {
|
||||
Index.MergeCommands(ice.Commands{
|
||||
STORE: {Name: "store refresh", Help: "系统商店", Role: aaa.VOID, Actions: ice.MergeActions(ice.Actions{
|
||||
mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmdy(SPIDE, mdb.INPUTS, arg)
|
||||
// m.Cmds(SPIDE).Table(func(value ice.Maps) { kit.If(value[CLIENT_TYPE] == nfs.REPOS, func() { m.Push("", value, arg[0]) }) })
|
||||
}},
|
||||
mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) { m.Cmdy(SPIDE, mdb.INPUTS, arg) }},
|
||||
mdb.CREATE: {Name: "create name* origin* icons", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmd(SPIDE, mdb.CREATE, m.OptionSimple("name,origin,icons"), mdb.TYPE, nfs.REPOS)
|
||||
}},
|
||||
mdb.REMOVE: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmd(SPIDE, mdb.REMOVE, CLIENT_NAME, m.Option(mdb.NAME))
|
||||
}},
|
||||
INSTALL: {Hand: func(m *ice.Message, arg ...string) {
|
||||
if !kit.HasPrefixList(arg, ctx.RUN) {
|
||||
if strings.HasPrefix(m.Option(mdb.ICON), nfs.REQUIRE) {
|
||||
@ -43,17 +43,26 @@ func init() {
|
||||
PORTAL: {Role: aaa.VOID, Hand: func(m *ice.Message, arg ...string) {
|
||||
ProcessIframe(m, m.Option(mdb.NAME), m.Option(ORIGIN)+S(m.Option(mdb.NAME))+C(PORTAL), arg...)
|
||||
}},
|
||||
}, ctx.ConfAction(CLIENT_TIMEOUT, "3s")), Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Display("")
|
||||
if len(arg) == 0 {
|
||||
}, ctx.ConfAction(CLIENT_TIMEOUT, "3s"), DREAM), Hand: func(m *ice.Message, arg ...string) {
|
||||
if kit.HasPrefixList(arg, ctx.ACTION) {
|
||||
m.Cmdy(DREAM, arg)
|
||||
return
|
||||
}
|
||||
if m.Display(""); len(arg) == 0 {
|
||||
m.Cmd(SPIDE, arg, kit.Dict(ice.MSG_FIELDS, "time,icons,client.type,client.name,client.origin")).Table(func(value ice.Maps) {
|
||||
kit.If(value[CLIENT_TYPE] == nfs.REPOS, func() { m.Push(mdb.NAME, value[CLIENT_NAME]).Push(mdb.ICONS, value[mdb.ICONS]) })
|
||||
})
|
||||
if ice.Info.NodeType == WORKER {
|
||||
if ice.Info.NodeType == WORKER || !aaa.IsTechOrRoot(m) {
|
||||
m.Action()
|
||||
} else {
|
||||
m.Action(html.FILTER, mdb.CREATE)
|
||||
m.PushAction(mdb.REMOVE)
|
||||
}
|
||||
} else {
|
||||
if arg[0] == ice.OPS && ice.Info.NodeType == SERVER {
|
||||
m.Cmdy(DREAM)
|
||||
return
|
||||
}
|
||||
m.Action(html.FILTER, mdb.CREATE)
|
||||
} else {
|
||||
defer ToastProcess(m, "查询中,请稍候")("查询成功")
|
||||
origin := SpideOrigin(m, arg[0])
|
||||
kit.If(arg[0] == ice.OPS, func() { origin = tcp.PublishLocalhost(m, origin) })
|
||||
@ -64,10 +73,10 @@ func init() {
|
||||
}
|
||||
m.Push("", value, kit.Split("time,name,icon,repos,binary,module,version"))
|
||||
m.Push(mdb.TEXT, value[nfs.REPOS]).Push(ORIGIN, origin)
|
||||
if ice.Info.NodeType == WORKER {
|
||||
m.PushButton(PORTAL)
|
||||
} else if _, ok := list[value[mdb.NAME]]; ok {
|
||||
if _, ok := list[value[mdb.NAME]]; ok || arg[0] == ice.OPS {
|
||||
m.PushButton(OPEN, PORTAL)
|
||||
} else if ice.Info.NodeType == WORKER || !aaa.IsTechOrRoot(m) {
|
||||
m.PushButton(PORTAL)
|
||||
} else {
|
||||
m.PushButton(INSTALL, PORTAL)
|
||||
}
|
||||
|
@ -1,13 +1,13 @@
|
||||
Volcanos(chat.ONIMPORT, {
|
||||
_init: function(can, msg) { can.ui = can.onappend.layout(can), can.onimport.__project(can, msg) },
|
||||
__project: function(can, msg) { var select, current = can.sup.db._zone||can.db.hash[0]||ice.DEV
|
||||
__project: function(can, msg) { var select, current = can.sup.db._zone||can.db.hash[0]||(can.user.info.nodetype == web.WORKER? ice.OPS: ice.DEV)
|
||||
msg.Table(function(value) {
|
||||
var _target = can.onimport.item(can, value, function(event) { can.isCmdMode()? can.misc.SearchHash(can, value.name): can.sup.db._zone = value.name
|
||||
if (can.onmotion.cache(can, function() { return value.name }, can.ui.content, can._status)) { return can.onimport.layout(can) }
|
||||
can.run(can.request(event, {_toast: ice.PROCESS}), [value.name], function(msg) {
|
||||
can.onimport.__content(can, msg), can.onappend._status(can, msg), can.onimport.layout(can)
|
||||
})
|
||||
}, function() {}, can.ui.project); select = (value.name == current? _target: select)||_target
|
||||
}, null, can.ui.project); select = (value.name == current? _target: select)||_target
|
||||
}), select && select.click(), can.onmotion.orderShow(can, can.ui.project)
|
||||
can.onappend.style(can, "output card", can.ui.content), can.onmotion.delay(can, function() { can.onimport.layout(can) })
|
||||
}, __content: function(can, msg) { can.onimport.card(can, msg) },
|
||||
|
@ -101,8 +101,8 @@ func init() {
|
||||
}},
|
||||
aaa.LOGOUT: {Hand: aaa.SessLogout},
|
||||
cli.QRCODE: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Push(web.LINK, tcp.PublishLocalhost(m, m.Option(ice.MSG_USERWEB)))
|
||||
m.EchoQRCode(tcp.PublishLocalhost(m, m.Option(ice.MSG_USERWEB)))
|
||||
link := tcp.PublishLocalhost(m, m.Option(ice.MSG_USERWEB))
|
||||
m.Push(mdb.NAME, link).PushQRCode(mdb.TEXT, link)
|
||||
}},
|
||||
mdb.CREATE: {Name: "create type*=plugin,qrcode,oauth name* icons link order space index args", Hand: func(m *ice.Message, arg ...string) { mdb.HashCreate(m, m.OptionSimple()) }},
|
||||
mdb.REMOVE: {Hand: func(m *ice.Message, arg ...string) { mdb.HashRemove(m, m.OptionSimple(mdb.NAME)) }},
|
||||
@ -122,7 +122,9 @@ func init() {
|
||||
if ice.Info.NodeType == web.WORKER {
|
||||
return
|
||||
}
|
||||
kit.If(m.Option(ice.MSG_USERPOD), func(p string) { m.Option(ice.MSG_NODETYPE, m.Cmdx(web.SPACE, p, cli.RUNTIME, ice.MSG_NODETYPE)) })
|
||||
kit.If(m.Option(ice.MSG_USERPOD), func(p string) {
|
||||
m.Option(ice.MSG_NODETYPE, m.Cmdx(web.SPACE, p, cli.RUNTIME, ice.MSG_NODETYPE))
|
||||
})
|
||||
m.Option("language.list", m.Cmd(nfs.DIR, nfs.TemplatePath(m, aaa.LANGUAGE)+nfs.PS, nfs.FILE).Appendv(nfs.FILE))
|
||||
m.Option("theme.list", m.Cmd(nfs.DIR, nfs.TemplatePath(m, aaa.THEME)+nfs.PS, nfs.FILE).Appendv(nfs.FILE))
|
||||
m.Option(nfs.REPOS, m.Cmdv(web.SPIDE, nfs.REPOS, web.CLIENT_URL))
|
||||
|
@ -52,7 +52,7 @@ func _publish_contexts(m *ice.Message, arg ...string) {
|
||||
m.OptionDefault(web.DOMAIN, host)
|
||||
m.Options(cli.CTX_ENV, kit.Select("", lex.SP+kit.JoinKV(mdb.EQ, lex.SP, cli.CTX_POD, m.Option(ice.MSG_USERPOD)), m.Option(ice.MSG_USERPOD) != ""))
|
||||
kit.If(m.Option("ctx_dev_ip"), func(p string) {
|
||||
m.Option(cli.CTX_ENV, m.Option(cli.CTX_DEV)+" "+"ctx_dev_ip="+tcp.PublishLocalhost(m, p))
|
||||
m.Option(cli.CTX_ENV, m.Option(cli.CTX_ENV)+" "+"ctx_dev_ip="+tcp.PublishLocalhost(m, p))
|
||||
})
|
||||
m.Option(ice.TCP_DOMAIN, kit.ParseURL(host).Hostname())
|
||||
switch k {
|
||||
|
10
info.go
10
info.go
@ -164,18 +164,24 @@ func MergeActions(arg ...Any) Actions {
|
||||
})
|
||||
for k, v := range cmd.Actions {
|
||||
func(k string) {
|
||||
if h, ok := list[k]; !ok {
|
||||
h, ok := list[k]
|
||||
if !ok {
|
||||
list[k] = &Action{Name: v.Name, Help: v.Help, Icon: v.Icon, Hand: func(m *Message, arg ...string) { m.Cmdy(from, k, arg) }}
|
||||
} else if h.Hand == nil {
|
||||
h.Hand = func(m *Message, arg ...string) { m.Cmdy(from, k, arg) }
|
||||
}
|
||||
if !ok || h.Icon == "" {
|
||||
kit.Value(_cmd.Meta, kit.Keys(CTX_ICONS, k), v.Icon)
|
||||
}
|
||||
if !ok || h.Help == "" {
|
||||
if help := kit.Split(v.Help, " ::"); len(help) > 0 {
|
||||
if kit.Value(_cmd.Meta, kit.Keys(CTX_TRANS, strings.TrimPrefix(k, "_")), help[0]); len(help) > 1 {
|
||||
kit.Value(_cmd.Meta, kit.Keys(CTX_TITLE, k), help[1])
|
||||
}
|
||||
}
|
||||
kit.If(len(v.List) > 0, func() { _cmd.Meta[k] = v.List })
|
||||
}
|
||||
|
||||
kit.If((!ok || len(h.List) == 0) && len(v.List) > 0, func() { _cmd.Meta[k] = v.List })
|
||||
}(k)
|
||||
}
|
||||
})
|
||||
|
@ -138,4 +138,8 @@ func (m *Message) ProcessOpen(url string) *Message {
|
||||
kit.If(url, func() { m.Process(PROCESS_OPEN, url) })
|
||||
return m
|
||||
}
|
||||
func (m *Message) ProcessOpenAndRefresh(url string) *Message {
|
||||
kit.If(url, func() { m.Process(PROCESS_OPEN, url, "refresh") })
|
||||
return m
|
||||
}
|
||||
func (m *Message) ProcessClose() *Message { return m.Process(PROCESS_CLOSE) }
|
||||
|
Loading…
x
Reference in New Issue
Block a user