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) {
|
func _config_save(m *ice.Message, name string, arg ...string) {
|
||||||
data, msg := ice.Map{}, m.Spawn(m.Source())
|
data, msg := ice.Map{}, m.Spawn(m.Source())
|
||||||
for _, k := range arg {
|
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
|
continue
|
||||||
} else {
|
} else {
|
||||||
data[k] = v
|
data[k] = v
|
||||||
|
@ -189,10 +189,10 @@ func ZoneAction(arg ...ice.Any) ice.Actions {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
func ExportZoneAction(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_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) }},
|
ice.CTX_EXIT: {Hand: func(m *ice.Message, arg ...string) { m.OptionFields(""); ZoneExport(m, arg) }},
|
||||||
})
|
}, ZoneAction(arg...))
|
||||||
}
|
}
|
||||||
func PageZoneAction(arg ...ice.Any) ice.Actions {
|
func PageZoneAction(arg ...ice.Any) ice.Actions {
|
||||||
return ice.MergeActions(ice.Actions{
|
return ice.MergeActions(ice.Actions{
|
||||||
|
@ -55,6 +55,36 @@ func _dream_list(m *ice.Message) *ice.Message {
|
|||||||
})
|
})
|
||||||
return m
|
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) {
|
func _dream_start(m *ice.Message, name string) {
|
||||||
if m.Warn(name == "", ice.ErrNotValid, mdb.NAME) {
|
if m.Warn(name == "", ice.ErrNotValid, mdb.NAME) {
|
||||||
return
|
return
|
||||||
@ -390,37 +420,17 @@ func init() {
|
|||||||
}
|
}
|
||||||
return value
|
return value
|
||||||
})
|
})
|
||||||
ctx.DisplayTableCard(m)
|
_dream_more_list(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"))
|
|
||||||
})
|
|
||||||
stat := map[string]int{}
|
stat := map[string]int{}
|
||||||
m.Table(func(value ice.Maps) { stat[value[mdb.TYPE]]++; stat[value[mdb.STATUS]]++ })
|
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) })
|
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)
|
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 {
|
} else if arg[0] == ctx.ACTION {
|
||||||
gdb.Event(m, DREAM_ACTION, arg)
|
gdb.Event(m, DREAM_ACTION, arg)
|
||||||
} else {
|
} else {
|
||||||
|
@ -158,6 +158,7 @@ func RenderVersion(m *ice.Message) string {
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
CHAT = "chat"
|
CHAT = "chat"
|
||||||
|
GRANT = "grant"
|
||||||
VIMER = "vimer"
|
VIMER = "vimer"
|
||||||
XTERM = "xterm"
|
XTERM = "xterm"
|
||||||
DESKTOP = "desktop"
|
DESKTOP = "desktop"
|
||||||
@ -165,6 +166,7 @@ const (
|
|||||||
COMPILE = "compile"
|
COMPILE = "compile"
|
||||||
BINPACK = "binpack"
|
BINPACK = "binpack"
|
||||||
AUTOGEN = "autogen"
|
AUTOGEN = "autogen"
|
||||||
|
INSTALL = "install"
|
||||||
|
|
||||||
CODE_GIT_SERVICE = "web.code.git.service"
|
CODE_GIT_SERVICE = "web.code.git.service"
|
||||||
CODE_GIT_SEARCH = "web.code.git.search"
|
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() {
|
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()
|
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.Start("", m.OptionSimple(tcp.HOST, tcp.PORT)...)
|
||||||
m.Cmd(nfs.SAVE, ice.VAR_LOG_ICE_PORT, m.Option(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) {
|
kit.For(kit.Split(m.Option(ice.DEV)), func(dev string) {
|
||||||
|
@ -24,13 +24,15 @@ import (
|
|||||||
kit "shylinux.com/x/toolkits"
|
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) {
|
if u, e := url.Parse(link); !m.Warn(e != nil || link == "", ice.ErrNotValid, link) {
|
||||||
dir, file := path.Split(u.EscapedPath())
|
dir, file := path.Split(u.EscapedPath())
|
||||||
m.Logs(mdb.INSERT, SPIDE, name, LINK, link)
|
m.Logs(mdb.INSERT, SPIDE, name, LINK, link)
|
||||||
mdb.HashSelectUpdate(m, mdb.HashCreate(m, CLIENT_NAME, name), func(value ice.Map) {
|
mdb.HashSelectUpdate(m, mdb.HashCreate(m, CLIENT_NAME, name), func(value ice.Map) {
|
||||||
|
value[mdb.ICON] = icon
|
||||||
value[SPIDE_CLIENT] = kit.Dict(
|
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",
|
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 = "?"
|
QS = "?"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var agentIcon = map[string]string{
|
||||||
|
"Safari": "usr/icons/Safari.png",
|
||||||
|
"Edg": "usr/icons/Edg.png",
|
||||||
|
"MicroMessenger": "usr/icons/wechat.png",
|
||||||
|
}
|
||||||
|
|
||||||
const SPIDE = "spide"
|
const SPIDE = "spide"
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
@ -304,7 +313,7 @@ func init() {
|
|||||||
dev := kit.Select("https://2021.shylinux.com", ice.Info.Make.Domain, conf[cli.CTX_DEV])
|
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.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, 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.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.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]))
|
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.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) {
|
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))
|
_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) {
|
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))
|
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_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) {
|
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.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] == "") {
|
if len(arg) < 2 || arg[0] == "" || (len(arg) > 3 && arg[3] == "") {
|
||||||
list := m.CmdMap(SPACE, mdb.NAME)
|
list := m.CmdMap(SPACE, mdb.NAME)
|
||||||
mdb.HashSelect(m, kit.Slice(arg, 0, 1)...).Sort("client.type,client.name", []string{nfs.REPOS, ""})
|
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() {
|
func init() {
|
||||||
Index.MergeCommands(ice.Commands{
|
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) {
|
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]) }) })
|
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) {
|
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)
|
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 !kit.HasPrefixList(arg, ctx.RUN) {
|
||||||
if !nfs.Exists(m, path.Join(ice.USR_LOCAL_WORK, m.Option(mdb.NAME))) {
|
if !nfs.Exists(m, path.Join(ice.USR_LOCAL_WORK, m.Option(mdb.NAME))) {
|
||||||
if strings.HasPrefix(m.Option(mdb.ICON), nfs.REQUIRE) {
|
if strings.HasPrefix(m.Option(mdb.ICON), nfs.REQUIRE) {
|
||||||
@ -63,8 +63,9 @@ func init() {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
m.Push("", value, kit.Split("time,name,icon,repos,binary,module,version"))
|
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])) {
|
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 {
|
} else {
|
||||||
m.PushButton(OPEN, PORTAL)
|
m.PushButton(OPEN, PORTAL)
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
Volcanos(chat.ONIMPORT, {
|
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.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) {}) }) }
|
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, {
|
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) }
|
if (can.isCmdMode()) { can.onappend.style(can, html.OUTPUT) }
|
||||||
can.ui = can.onappend.layout(can), can.onimport._project(can, msg)
|
can.ui = can.onappend.layout(can), can.onimport._project(can, msg)
|
||||||
},
|
},
|
||||||
|
@ -65,6 +65,7 @@ func init() {
|
|||||||
text = append(text, list[0]+" ---")
|
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.Push(mdb.TEXT, strings.Join(text, ", "))
|
||||||
m.PushButton(kit.Dict(m.CommandKey(), "源码"))
|
m.PushButton(kit.Dict(m.CommandKey(), "源码"))
|
||||||
}},
|
}},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user