forked from x/icebergs
add some
This commit is contained in:
parent
b54ba9a300
commit
0ce48b54f4
@ -53,7 +53,12 @@ func _config_only(v ice.Any, arg ...string) bool {
|
||||
func _config_save(m *ice.Message, name string, arg ...string) {
|
||||
data, msg := ice.Map{}, m.Spawn(m.Source())
|
||||
for _, k := range arg {
|
||||
if v := mdb.Confv(msg, k); _config_only(v, mdb.META) && _config_only(kit.Value(v, mdb.META), mdb.SHORT, mdb.FIELD, mdb.FIELDS, mdb.ACTION, mdb.SORT, mdb.TOOLS) {
|
||||
if v := mdb.Confv(msg, k); _config_only(v, mdb.META) && _config_only(kit.Value(v, mdb.META),
|
||||
mdb.IMPORTANT, mdb.EXPIRE, mdb.SHORT, mdb.FIELD, mdb.FIELDS, mdb.ACTION, mdb.SORT, mdb.TOOLS,
|
||||
"regexp", "path", "link",
|
||||
"linux", "darwin", "windows",
|
||||
"source", "script",
|
||||
) {
|
||||
continue
|
||||
} else {
|
||||
data[k] = v
|
||||
|
@ -189,10 +189,10 @@ func ZoneAction(arg ...ice.Any) ice.Actions {
|
||||
}
|
||||
}
|
||||
func ExportZoneAction(arg ...ice.Any) ice.Actions {
|
||||
return ice.MergeActions(ZoneAction(arg...), ice.Actions{
|
||||
return ice.MergeActions(ice.Actions{
|
||||
ice.CTX_INIT: {Hand: func(m *ice.Message, arg ...string) { Config(m, IMPORTANT, ice.TRUE); ZoneImport(m, arg) }},
|
||||
ice.CTX_EXIT: {Hand: func(m *ice.Message, arg ...string) { m.OptionFields(""); ZoneExport(m, arg) }},
|
||||
})
|
||||
}, ZoneAction(arg...))
|
||||
}
|
||||
func PageZoneAction(arg ...ice.Any) ice.Actions {
|
||||
return ice.MergeActions(ice.Actions{
|
||||
|
@ -55,6 +55,36 @@ func _dream_list(m *ice.Message) *ice.Message {
|
||||
})
|
||||
return m
|
||||
}
|
||||
func _dream_more_list(m *ice.Message) *ice.Message {
|
||||
list := m.Spawn(ice.Maps{ice.MSG_FIELDS: ""}).CmdMap(SPIDE, CLIENT_NAME)
|
||||
m.Cmds(SPACE).Table(func(value ice.Maps) {
|
||||
value[mdb.ICON] = nfs.USR_ICONS_VOLCANOS
|
||||
value[nfs.REPOS] = "https://" + value[nfs.MODULE]
|
||||
value[mdb.STATUS] = cli.START
|
||||
switch value[mdb.TYPE] {
|
||||
case SERVER:
|
||||
value[mdb.ICON] = nfs.USR_ICONS_ICEBERGS
|
||||
value[mdb.TEXT] = kit.JoinLine(value[nfs.MODULE], value[mdb.TEXT])
|
||||
msg := gdb.Event(m.Spawn(value), DREAM_TABLES)
|
||||
defer m.PushButton(strings.Join(msg.Appendv(ctx.ACTION), ""))
|
||||
case MASTER:
|
||||
if spide, ok := list[value[mdb.NAME]]; ok {
|
||||
value[mdb.ICON] = spide[mdb.ICON]
|
||||
}
|
||||
value[mdb.TEXT] = kit.JoinLine(value[nfs.MODULE], value[mdb.TEXT])
|
||||
msg := gdb.Event(m.Spawn(value), DREAM_TABLES)
|
||||
defer m.PushButton(strings.Join(msg.Appendv(ctx.ACTION), ""))
|
||||
case aaa.LOGIN:
|
||||
value[mdb.ICON] = kit.Select(value[mdb.ICON], agentIcon[value[AGENT]])
|
||||
value[mdb.TEXT] = kit.JoinWord(value[AGENT], value[cli.SYSTEM], value[aaa.IP])
|
||||
defer m.PushButton(GRANT)
|
||||
default:
|
||||
return
|
||||
}
|
||||
m.Push("", value, kit.Split(mdb.Config(m, mdb.FIELD)+",type,status,module,version,text"))
|
||||
})
|
||||
return m
|
||||
}
|
||||
func _dream_start(m *ice.Message, name string) {
|
||||
if m.Warn(name == "", ice.ErrNotValid, mdb.NAME) {
|
||||
return
|
||||
@ -390,37 +420,17 @@ func init() {
|
||||
}
|
||||
return value
|
||||
})
|
||||
ctx.DisplayTableCard(m)
|
||||
kit.If(cli.SystemFind(m, "go"), func() {
|
||||
m.Action("filter", mdb.CREATE, STARTALL, STOPALL, cli.BUILD, PUBLISH)
|
||||
}, func() {
|
||||
m.Action(mdb.CREATE, STARTALL, STOPALL)
|
||||
})
|
||||
msg := m.Cmds(SPACE)
|
||||
msg.Table(func(value ice.Maps) {
|
||||
value[mdb.ICON] = nfs.USR_ICONS_VOLCANOS
|
||||
value[mdb.STATUS] = cli.START
|
||||
value[nfs.REPOS] = "https://" + value[nfs.MODULE]
|
||||
switch value[mdb.TYPE] {
|
||||
case SERVER:
|
||||
value[mdb.ICON] = nfs.USR_ICONS_ICEBERGS
|
||||
msg := gdb.Event(m.Spawn(value), DREAM_TABLES)
|
||||
defer m.PushButton(strings.Join(msg.Appendv(ctx.ACTION), ""))
|
||||
case MASTER:
|
||||
msg := gdb.Event(m.Spawn(value), DREAM_TABLES)
|
||||
defer m.PushButton(strings.Join(msg.Appendv(ctx.ACTION), ""))
|
||||
case aaa.LOGIN:
|
||||
value[mdb.TEXT] = kit.JoinWord(value["agent"], value[cli.SYSTEM], value[aaa.IP])
|
||||
defer m.PushButton("grant")
|
||||
default:
|
||||
return
|
||||
}
|
||||
m.Push("", value, kit.Split(mdb.Config(m, mdb.FIELD)+",type,status,module,version,text"))
|
||||
})
|
||||
_dream_more_list(m)
|
||||
stat := map[string]int{}
|
||||
m.Table(func(value ice.Maps) { stat[value[mdb.TYPE]]++; stat[value[mdb.STATUS]]++ })
|
||||
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)
|
||||
kit.If(cli.SystemFind(m, "go"), func() {
|
||||
m.Action(html.FILTER, mdb.CREATE, STARTALL, STOPALL, cli.BUILD, PUBLISH)
|
||||
}, func() {
|
||||
m.Action(mdb.CREATE, STARTALL, STOPALL)
|
||||
})
|
||||
} else if arg[0] == ctx.ACTION {
|
||||
gdb.Event(m, DREAM_ACTION, arg)
|
||||
} else {
|
||||
|
@ -158,6 +158,7 @@ func RenderVersion(m *ice.Message) string {
|
||||
|
||||
const (
|
||||
CHAT = "chat"
|
||||
GRANT = "grant"
|
||||
VIMER = "vimer"
|
||||
XTERM = "xterm"
|
||||
DESKTOP = "desktop"
|
||||
@ -165,6 +166,7 @@ const (
|
||||
COMPILE = "compile"
|
||||
BINPACK = "binpack"
|
||||
AUTOGEN = "autogen"
|
||||
INSTALL = "install"
|
||||
|
||||
CODE_GIT_SERVICE = "web.code.git.service"
|
||||
CODE_GIT_SEARCH = "web.code.git.search"
|
||||
|
@ -31,7 +31,7 @@ func _serve_start(m *ice.Message) {
|
||||
kit.If(runtime.GOOS == cli.WINDOWS || m.Cmdx(cli.SYSTEM, "lsof", "-i", ":"+m.Option(tcp.PORT)) != "", func() {
|
||||
m.Go(func() { m.Cmd(SPIDE, ice.OPS, _serve_address(m)+"/exit", ice.Maps{CLIENT_TIMEOUT: "30ms"}) }).Sleep300ms()
|
||||
})
|
||||
cli.NodeInfo(m, kit.Select(ice.Info.Hostname, m.Option(tcp.NODENAME)), SERVER)
|
||||
cli.NodeInfo(m, kit.Select(strings.TrimSuffix(ice.Info.Hostname, ".local"), m.Option(tcp.NODENAME)), SERVER)
|
||||
m.Start("", m.OptionSimple(tcp.HOST, tcp.PORT)...)
|
||||
m.Cmd(nfs.SAVE, ice.VAR_LOG_ICE_PORT, m.Option(tcp.PORT))
|
||||
kit.For(kit.Split(m.Option(ice.DEV)), func(dev string) {
|
||||
|
@ -24,13 +24,15 @@ import (
|
||||
kit "shylinux.com/x/toolkits"
|
||||
)
|
||||
|
||||
func _spide_create(m *ice.Message, name, link, types string) {
|
||||
func _spide_create(m *ice.Message, name, link, types, icon string) {
|
||||
if u, e := url.Parse(link); !m.Warn(e != nil || link == "", ice.ErrNotValid, link) {
|
||||
dir, file := path.Split(u.EscapedPath())
|
||||
m.Logs(mdb.INSERT, SPIDE, name, LINK, link)
|
||||
mdb.HashSelectUpdate(m, mdb.HashCreate(m, CLIENT_NAME, name), func(value ice.Map) {
|
||||
value[mdb.ICON] = icon
|
||||
value[SPIDE_CLIENT] = kit.Dict(
|
||||
mdb.NAME, name, mdb.TYPE, types, SPIDE_METHOD, http.MethodGet, URL, link, ORIGIN, u.Scheme+"://"+u.Host,
|
||||
mdb.NAME, name, mdb.TYPE, types,
|
||||
SPIDE_METHOD, http.MethodGet, URL, link, ORIGIN, u.Scheme+"://"+u.Host,
|
||||
tcp.PROTOCOL, u.Scheme, tcp.HOSTNAME, u.Hostname(), tcp.HOST, u.Host, nfs.PATH, dir, nfs.FILE, file, cli.TIMEOUT, "300s",
|
||||
)
|
||||
})
|
||||
@ -261,6 +263,13 @@ const (
|
||||
|
||||
QS = "?"
|
||||
)
|
||||
|
||||
var agentIcon = map[string]string{
|
||||
"Safari": "usr/icons/Safari.png",
|
||||
"Edg": "usr/icons/Edg.png",
|
||||
"MicroMessenger": "usr/icons/wechat.png",
|
||||
}
|
||||
|
||||
const SPIDE = "spide"
|
||||
|
||||
func init() {
|
||||
@ -304,7 +313,7 @@ func init() {
|
||||
dev := kit.Select("https://2021.shylinux.com", ice.Info.Make.Domain, conf[cli.CTX_DEV])
|
||||
m.Cmd("", mdb.CREATE, ice.SHY, kit.Select("https://shylinux.com", conf[cli.CTX_SHY]), nfs.REPOS)
|
||||
m.Cmd("", mdb.CREATE, ice.DEV, dev, nfs.REPOS)
|
||||
m.Cmd("", mdb.CREATE, ice.DEV_IP, kit.Select(dev, os.Getenv("ctx_dev_ip")), nfs.REPOS)
|
||||
m.Cmd("", mdb.CREATE, ice.DEV_IP, kit.Select(dev, os.Getenv("ctx_dev_ip")))
|
||||
m.Cmd("", mdb.CREATE, ice.OPS, kit.Select("http://localhost:9020", conf[cli.CTX_OPS]), nfs.REPOS)
|
||||
m.Cmd("", mdb.CREATE, ice.DEMO, kit.Select("http://localhost:20000", conf[cli.CTX_DEMO]))
|
||||
m.Cmd("", mdb.CREATE, ice.MAIL, kit.Select("https://mail.shylinux.com", conf[cli.CTX_MAIL]))
|
||||
@ -342,8 +351,8 @@ func init() {
|
||||
mdb.HashSelectValue(m.Spawn(), func(value ice.Map) { m.Push(kit.Select(ORIGIN, arg, 0), kit.Value(value, CLIENT_ORIGIN)) })
|
||||
}
|
||||
}},
|
||||
mdb.CREATE: {Name: "create name origin type", Hand: func(m *ice.Message, arg ...string) {
|
||||
_spide_create(m, m.Option(mdb.NAME), m.Option(ORIGIN), m.Option(mdb.TYPE))
|
||||
mdb.CREATE: {Name: "create name origin type icon", Hand: func(m *ice.Message, arg ...string) {
|
||||
_spide_create(m, m.Option(mdb.NAME), m.Option(ORIGIN), m.Option(mdb.TYPE), m.Option(mdb.ICON))
|
||||
}},
|
||||
COOKIE: {Name: "cookie key* value", Help: "状态量", Hand: func(m *ice.Message, arg ...string) {
|
||||
mdb.HashModify(m, m.OptionSimple(CLIENT_NAME), kit.Keys(COOKIE, m.Option(mdb.KEY)), m.Option(mdb.VALUE))
|
||||
@ -364,8 +373,9 @@ func init() {
|
||||
DEV_REQUEST_TEXT: {Hand: func(m *ice.Message, arg ...string) { m.Echo(SpaceName(ice.Info.NodeName)) }},
|
||||
DEV_CREATE_TOKEN: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmd(SPACE, tcp.DIAL, ice.DEV, m.Option(CLIENT_NAME), m.OptionSimple(TOKEN))
|
||||
m.Sleep300ms()
|
||||
}},
|
||||
}, DevTokenAction(CLIENT_NAME, CLIENT_URL), mdb.HashAction(mdb.SHORT, CLIENT_NAME, mdb.FIELD, "time,client.name,client.url,client.type,token")), Hand: func(m *ice.Message, arg ...string) {
|
||||
}, DevTokenAction(CLIENT_NAME, CLIENT_URL), mdb.HashAction(mdb.SHORT, CLIENT_NAME, mdb.FIELD, "time,client.name,client.url,client.type,token,icon")), Hand: func(m *ice.Message, arg ...string) {
|
||||
if len(arg) < 2 || arg[0] == "" || (len(arg) > 3 && arg[3] == "") {
|
||||
list := m.CmdMap(SPACE, mdb.NAME)
|
||||
mdb.HashSelect(m, kit.Slice(arg, 0, 1)...).Sort("client.type,client.name", []string{nfs.REPOS, ""})
|
||||
|
@ -18,14 +18,14 @@ const STORE = "store"
|
||||
|
||||
func init() {
|
||||
Index.MergeCommands(ice.Commands{
|
||||
STORE: {Name: "store", Help: "系统商店", Role: aaa.VOID, Actions: ice.MergeActions(ice.Actions{
|
||||
STORE: {Name: "store list", Help: "系统商店", Role: aaa.VOID, Actions: ice.MergeActions(ice.Actions{
|
||||
mdb.INPUTS: {Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmds(SPIDE).Table(func(value ice.Maps) { kit.If(value[CLIENT_TYPE] == nfs.REPOS, func() { m.Push("", value, arg[0]) }) })
|
||||
}},
|
||||
mdb.CREATE: {Name: "create name* origin*", Hand: func(m *ice.Message, arg ...string) {
|
||||
m.Cmd(SPIDE, mdb.CREATE, m.OptionSimple("name,origin"), mdb.TYPE, nfs.REPOS)
|
||||
}},
|
||||
"install": {Hand: func(m *ice.Message, arg ...string) {
|
||||
INSTALL: {Hand: func(m *ice.Message, arg ...string) {
|
||||
if !kit.HasPrefixList(arg, ctx.RUN) {
|
||||
if !nfs.Exists(m, path.Join(ice.USR_LOCAL_WORK, m.Option(mdb.NAME))) {
|
||||
if strings.HasPrefix(m.Option(mdb.ICON), nfs.REQUIRE) {
|
||||
@ -63,8 +63,9 @@ func init() {
|
||||
return
|
||||
}
|
||||
m.Push("", value, kit.Split("time,name,icon,repos,binary,module,version"))
|
||||
m.Push(mdb.TEXT, kit.JoinLine(value[nfs.REPOS], value[nfs.BINARY]))
|
||||
if m.Push(ORIGIN, origin); !nfs.Exists(m, path.Join(ice.USR_LOCAL_WORK, value[mdb.NAME])) {
|
||||
m.PushButton("install", PORTAL)
|
||||
m.PushButton(INSTALL, PORTAL)
|
||||
} else {
|
||||
m.PushButton(OPEN, PORTAL)
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
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)
|
||||
can.onappend.style(can, "output card", can.ui.content), can.onmotion.delay(can, function() { can.onimport.layout(can) })
|
||||
can.sup.onimport._field = function(sup, msg) { msg.Table(function(item) { can.onappend._plugin(can, item, {style: html.FLOAT}, function(sub) {}) }) }
|
||||
},
|
||||
|
@ -1,5 +1,5 @@
|
||||
Volcanos(chat.ONIMPORT, {
|
||||
_init: function(can, msg) { delete(can._status._cache), delete(can._status._cache_key)
|
||||
_init: function(can, msg) {
|
||||
if (can.isCmdMode()) { can.onappend.style(can, html.OUTPUT) }
|
||||
can.ui = can.onappend.layout(can), can.onimport._project(can, msg)
|
||||
},
|
||||
|
@ -65,6 +65,7 @@ func init() {
|
||||
text = append(text, list[0]+" ---")
|
||||
}
|
||||
}
|
||||
// m.Push(mdb.TEXT, kit.JoinLine(m.Option(nfs.MODULE), strings.Join(text, ", ")))
|
||||
m.Push(mdb.TEXT, strings.Join(text, ", "))
|
||||
m.PushButton(kit.Dict(m.CommandKey(), "源码"))
|
||||
}},
|
||||
|
Loading…
x
Reference in New Issue
Block a user