forked from x/icebergs
add some
This commit is contained in:
parent
0a98abcc5f
commit
5aff286771
@ -230,7 +230,7 @@ const DREAM = "dream"
|
|||||||
func init() {
|
func init() {
|
||||||
Index.MergeCommands(ice.Commands{
|
Index.MergeCommands(ice.Commands{
|
||||||
DREAM: {Name: "dream refresh", Help: "梦想家", Icon: "Launchpad.png", Role: aaa.VOID, Meta: kit.Dict(
|
DREAM: {Name: "dream refresh", Help: "梦想家", Icon: "Launchpad.png", Role: aaa.VOID, Meta: kit.Dict(
|
||||||
ice.CTX_TRANS, kit.Dict(html.INPUT, kit.Dict(WORKER, "空间", SERVER, "机器", ORIGIN, "主机")),
|
ice.CTX_TRANS, kit.Dict(html.INPUT, kit.Dict(WORKER, "空间", SERVER, "门户", ORIGIN, "主机")),
|
||||||
), Actions: ice.MergeActions(ice.Actions{
|
), Actions: ice.MergeActions(ice.Actions{
|
||||||
ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) {
|
ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) {
|
||||||
m = m.Spawn()
|
m = m.Spawn()
|
||||||
@ -487,6 +487,16 @@ func init() {
|
|||||||
}
|
}
|
||||||
if !m.IsCliUA() && aaa.IsTechOrRoot(m) {
|
if !m.IsCliUA() && aaa.IsTechOrRoot(m) {
|
||||||
_dream_list_more(m, simple)
|
_dream_list_more(m, simple)
|
||||||
|
} else {
|
||||||
|
msg := m.Spawn(kit.Dict(ice.MSG_USERROLE, aaa.TECH))
|
||||||
|
m.Cmds(SPACE).Table(func(value ice.Maps) {
|
||||||
|
if value[mdb.TYPE] == SERVER {
|
||||||
|
if p := ProxyDomain(msg, value[mdb.NAME]); p != "" {
|
||||||
|
value[mdb.TEXT] = p
|
||||||
|
m.PushRecord(value, mdb.TIME, mdb.TYPE, mdb.NAME, mdb.ICONS, nfs.MODULE, nfs.VERSION, mdb.TEXT)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
if ice.Info.NodeType == WORKER || !aaa.IsTechOrRoot(m) || m.IsCliUA() {
|
if ice.Info.NodeType == WORKER || !aaa.IsTechOrRoot(m) || m.IsCliUA() {
|
||||||
m.Action()
|
m.Action()
|
||||||
@ -503,7 +513,7 @@ func init() {
|
|||||||
}
|
}
|
||||||
if !aaa.IsTechOrRoot(m) {
|
if !aaa.IsTechOrRoot(m) {
|
||||||
m.Options(ice.MSG_TOOLKIT, "")
|
m.Options(ice.MSG_TOOLKIT, "")
|
||||||
m.Option(ice.MSG_ONLINE, ice.FALSE)
|
m.Options(ice.MSG_ONLINE, ice.FALSE)
|
||||||
}
|
}
|
||||||
} else if arg[0] == ctx.ACTION {
|
} else if arg[0] == ctx.ACTION {
|
||||||
gdb.Event(m, DREAM_ACTION, arg)
|
gdb.Event(m, DREAM_ACTION, arg)
|
||||||
|
@ -56,9 +56,12 @@ func Render(m *ice.Message, cmd string, args ...ice.Any) bool {
|
|||||||
case COOKIE: // value [name [path [expire]]]
|
case COOKIE: // value [name [path [expire]]]
|
||||||
RenderCookie(m, arg[0], arg[1:]...)
|
RenderCookie(m, arg[0], arg[1:]...)
|
||||||
case STATUS, ice.RENDER_STATUS: // [code [text]]
|
case STATUS, ice.RENDER_STATUS: // [code [text]]
|
||||||
// RenderStatus(m.W, kit.Int(kit.Select("200", arg, 0)), kit.Select(m.Result(), strings.Join(kit.Slice(arg, 1), " ")))
|
if m.IsCliUA() {
|
||||||
|
RenderStatus(m.W, kit.Int(kit.Select("200", arg, 0)), kit.Select(m.Result(), strings.Join(kit.Slice(arg, 1), " ")))
|
||||||
|
} else {
|
||||||
m.W.WriteHeader(kit.Int(kit.Select("200", arg, 0)))
|
m.W.WriteHeader(kit.Int(kit.Select("200", arg, 0)))
|
||||||
renderMsg(m)
|
renderMsg(m)
|
||||||
|
}
|
||||||
case ice.RENDER_REDIRECT: // url [arg...]
|
case ice.RENDER_REDIRECT: // url [arg...]
|
||||||
http.Redirect(m.W, m.R, m.MergeLink(arg[0], arg[1:]), http.StatusTemporaryRedirect)
|
http.Redirect(m.W, m.R, m.MergeLink(arg[0], arg[1:]), http.StatusTemporaryRedirect)
|
||||||
case ice.RENDER_DOWNLOAD: // file [type [name]]
|
case ice.RENDER_DOWNLOAD: // file [type [name]]
|
||||||
|
@ -53,8 +53,12 @@ func init() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if m.Display(""); len(arg) == 0 {
|
if m.Display(""); len(arg) == 0 {
|
||||||
|
list := []string{}
|
||||||
m.Cmd(SPIDE, arg, kit.Dict(ice.MSG_FIELDS, "time,icons,client.type,client.name,client.origin")).Table(func(value ice.Maps) {
|
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]) })
|
kit.If(value[CLIENT_TYPE] == nfs.REPOS, func() {
|
||||||
|
list = append(list, value[CLIENT_NAME])
|
||||||
|
m.Push(mdb.NAME, value[CLIENT_NAME]).Push(mdb.ICONS, value[mdb.ICONS]).Push(ORIGIN, value[CLIENT_ORIGIN])
|
||||||
|
})
|
||||||
})
|
})
|
||||||
if ice.Info.NodeType == WORKER || !aaa.IsTechOrRoot(m) {
|
if ice.Info.NodeType == WORKER || !aaa.IsTechOrRoot(m) {
|
||||||
m.Action()
|
m.Action()
|
||||||
@ -67,20 +71,24 @@ func init() {
|
|||||||
m.Cmdy(DREAM)
|
m.Cmdy(DREAM)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
dream := C(DREAM)
|
||||||
origin := SpideOrigin(m, arg[0])
|
origin := SpideOrigin(m, arg[0])
|
||||||
kit.If(kit.IsIn(arg[0], ice.OPS, ice.DEV), func() {
|
kit.If(origin == "", func() { arg[0], origin, dream = ice.DEV, arg[0], arg[0]+dream })
|
||||||
if kit.IsIn(kit.ParseURL(origin).Hostname(), m.Cmds(tcp.HOST).Appendv(aaa.IP)...) {
|
if kit.IsIn(kit.ParseURL(origin).Hostname(), append(m.Cmds(tcp.HOST).Appendv(aaa.IP), tcp.LOCALHOST)...) {
|
||||||
origin = m.Option(ice.MSG_USERHOST)
|
origin = m.Option(ice.MSG_USERHOST)
|
||||||
} else {
|
} else {
|
||||||
origin = tcp.PublishLocalhost(m, origin)
|
origin = tcp.PublishLocalhost(m, origin)
|
||||||
}
|
}
|
||||||
})
|
|
||||||
list := m.Spawn(ice.Maps{ice.MSG_FIELDS: ""}).CmdMap(DREAM, mdb.NAME)
|
list := m.Spawn(ice.Maps{ice.MSG_FIELDS: ""}).CmdMap(DREAM, mdb.NAME)
|
||||||
m.SetAppend().Spawn().SplitIndex(m.Cmdx(SPIDE, arg[0], C(DREAM), kit.Dict(mdb.ConfigSimple(m, CLIENT_TIMEOUT)))).Table(func(value ice.Maps) {
|
stat := map[string]int{}
|
||||||
if value[mdb.TYPE] != WORKER {
|
m.SetAppend().Spawn().SplitIndex(m.Cmdx(SPIDE, arg[0], dream, kit.Dict(mdb.ConfigSimple(m, CLIENT_TIMEOUT)))).Table(func(value ice.Maps) {
|
||||||
|
stat[value[mdb.TYPE]]++
|
||||||
|
m.Push("", value, kit.Split("time,type,name,icons,repos,binary,module,version"))
|
||||||
|
if value[mdb.TYPE] == SERVER {
|
||||||
|
m.Push(mdb.TEXT, value[mdb.TEXT]).Push(ORIGIN, value[mdb.TEXT])
|
||||||
|
m.PushButton()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
m.Push("", value, kit.Split("time,name,icons,repos,binary,module,version"))
|
|
||||||
m.Push(mdb.TEXT, value[nfs.REPOS]).Push(ORIGIN, origin)
|
m.Push(mdb.TEXT, value[nfs.REPOS]).Push(ORIGIN, origin)
|
||||||
if _, ok := list[value[mdb.NAME]]; ok || arg[0] == ice.OPS {
|
if _, ok := list[value[mdb.NAME]]; ok || arg[0] == ice.OPS {
|
||||||
m.PushButton(PORTAL, DESKTOP, ADMIN, OPEN)
|
m.PushButton(PORTAL, DESKTOP, ADMIN, OPEN)
|
||||||
@ -90,7 +98,7 @@ func init() {
|
|||||||
m.PushButton(PORTAL, INSTALL)
|
m.PushButton(PORTAL, INSTALL)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
m.StatusTimeCount(ORIGIN, origin)
|
m.StatusTimeCount(ORIGIN, origin, stat)
|
||||||
}
|
}
|
||||||
}},
|
}},
|
||||||
})
|
})
|
||||||
|
@ -2,13 +2,22 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
_init: function(can, msg) { can.ui = can.onappend.layout(can), can.onimport.__project(can, msg) },
|
_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]||(can.user.info.nodetype == web.WORKER? ice.OPS: 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) {
|
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
|
var _target = can.onimport.item(can, value, function(event) {
|
||||||
if (can.onmotion.cache(can, function() { return value.name }, can.ui.content, can._status)) { return can.onimport.layout(can) }
|
can.onimport.dream(event, can, value, _target)
|
||||||
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)
|
|
||||||
})
|
|
||||||
}, null, 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)
|
}), 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) })
|
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) },
|
}, __content: function(can, msg, dev, target) { var list = []
|
||||||
|
can.onimport.card(can, msg, null, function(value) { if (value.type == web.SERVER) { list.push(value); return true } })
|
||||||
|
can.onimport.itemlist(can, list, function(event, value) { can.onimport.dream(event, can, value, event.currentTarget) }, null, target)
|
||||||
|
},
|
||||||
|
dream: function(event, can, value, target) { can.isCmdMode()? can.misc.SearchHash(can, value.name): can.sup.db._zone = value.name
|
||||||
|
can.page.Select(can, can.ui.project, html.DIV_ITEM, function(_target) {
|
||||||
|
can.page.ClassList.set(can, _target, html.SELECT, _target == target)
|
||||||
|
})
|
||||||
|
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.origin], function(msg) {
|
||||||
|
can.onimport.__content(can, msg, value.name, target), can.onappend._status(can, msg), can.onimport.layout(can)
|
||||||
|
})
|
||||||
|
},
|
||||||
}, [""])
|
}, [""])
|
||||||
|
@ -2,6 +2,7 @@ package chat
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
ice "shylinux.com/x/icebergs"
|
ice "shylinux.com/x/icebergs"
|
||||||
|
"shylinux.com/x/icebergs/base/aaa"
|
||||||
"shylinux.com/x/icebergs/base/web"
|
"shylinux.com/x/icebergs/base/web"
|
||||||
kit "shylinux.com/x/toolkits"
|
kit "shylinux.com/x/toolkits"
|
||||||
)
|
)
|
||||||
@ -16,7 +17,9 @@ func init() {
|
|||||||
web.RenderMain(m)
|
web.RenderMain(m)
|
||||||
default:
|
default:
|
||||||
if m.IsCliUA() {
|
if m.IsCliUA() {
|
||||||
|
if aaa.Right(m, arg) {
|
||||||
m.Cmdy(arg, m.Optionv(ice.ARG)).RenderResult()
|
m.Cmdy(arg, m.Optionv(ice.ARG)).RenderResult()
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
web.RenderCmd(m, cmd, kit.Slice(arg, 1))
|
web.RenderCmd(m, cmd, kit.Slice(arg, 1))
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user