1
0
forked from x/icebergs
This commit is contained in:
IT 老营长 @云轩领航-创始人 2024-06-20 20:49:29 +08:00
parent 1aa04477c4
commit 82c0c14dea
2 changed files with 36 additions and 33 deletions

View File

@ -119,8 +119,7 @@ func init() {
}}, }},
}, ctx.ConfAction( }, ctx.ConfAction(
mdb.FIELD, "time,domain,status,type,name,text,icons,repos,binary,module,version,access", mdb.FIELD, "time,domain,status,type,name,text,icons,repos,binary,module,version,access",
ctx.TOOLS, kit.Simple(SPIDE, VERSION, STATUS), ONLINE, ice.TRUE, ctx.TOOLS, kit.Simple(SPIDE, VERSION, STATUS), ONLINE, ice.TRUE, cli.TIMEOUT, "10s",
cli.TIMEOUT, "10s",
)), Hand: func(m *ice.Message, arg ...string) { )), Hand: func(m *ice.Message, arg ...string) {
if kit.HasPrefixList(arg, ctx.ACTION) { if kit.HasPrefixList(arg, ctx.ACTION) {
_matrix_action(m, arg[1], arg[2:]...) _matrix_action(m, arg[1], arg[2:]...)
@ -149,8 +148,12 @@ func init() {
}) })
m.RewriteAppend(func(value, key string, index int) string { m.RewriteAppend(func(value, key string, index int) string {
if key == mdb.ICONS && kit.HasPrefix(value, nfs.P, nfs.REQUIRE) { if key == mdb.ICONS && kit.HasPrefix(value, nfs.P, nfs.REQUIRE) {
if domain := m.Appendv(DOMAIN)[index]; domain != "" { if domain := m.Appendv(DOMAIN)[index]; domain != "" && space[domain][mdb.TYPE] == ORIGIN {
value = kit.MergeURL2(space[domain][mdb.TEXT], value, ice.POD, m.Appendv(mdb.NAME)[index]) value = kit.MergeURL2(space[domain][mdb.TEXT], value, m.Appendv(mdb.NAME)[index])
} else if m.Appendv(mdb.TYPE)[index] == SERVER {
value = kit.MergeURL(value, ice.POD, m.Appendv(DOMAIN)[index])
} else if m.Appendv(mdb.TYPE)[index] == WORKER {
value = kit.MergeURL(value, ice.POD, kit.Keys(m.Appendv(DOMAIN)[index], m.Appendv(mdb.NAME)[index]))
} }
} }
return value return value

View File

@ -4,7 +4,7 @@ Volcanos(chat.ONIMPORT, {
list[name] = list[name]||{}, list[name][_domain] = value, domain.indexOf(_domain) == -1 && domain.push(_domain) list[name] = list[name]||{}, list[name][_domain] = value, domain.indexOf(_domain) == -1 && domain.push(_domain)
value.type == web.SERVER && server.push(value.domain) value.type == web.SERVER && server.push(value.domain)
}), can.db.list = list, can.db.domain = domain, can.db.server = server }), can.db.list = list, can.db.domain = domain, can.db.server = server
if (domain.length > can.core.Item(list).length) {
can.ui = can.page.Appends(can, can._output, [{view: [wiki.CONTENT, html.TABLE], list: [ can.ui = can.page.Appends(can, can._output, [{view: [wiki.CONTENT, html.TABLE], list: [
{type: html.THEAD, list: [{type: html.TR, list: can.core.Item(list, function(name, value) { {type: html.THEAD, list: [{type: html.TR, list: can.core.Item(list, function(name, value) {
return {type: html.TH, list: [value[""]? can.onimport.item(can, value[""], list): can.onimport.void(can, name, domain, list)]} return {type: html.TH, list: [value[""]? can.onimport.item(can, value[""], list): can.onimport.void(can, name, domain, list)]}
@ -15,7 +15,7 @@ Volcanos(chat.ONIMPORT, {
})} })}
})}, })},
] }]), can.onmotion.delay(can, function() { can.Status(mdb.COUNT, can.core.List(domain).length+"x"+can.core.Item(list).length) }) ] }]), can.onmotion.delay(can, function() { can.Status(mdb.COUNT, can.core.List(domain).length+"x"+can.core.Item(list).length) })
return } else {
can.ui = can.page.Appends(can, can._output, [{view: [wiki.CONTENT, html.TABLE], list: [ can.ui = can.page.Appends(can, can._output, [{view: [wiki.CONTENT, html.TABLE], list: [
{type: html.THEAD, list: [{type: html.TR, list: can.core.List(domain, function(domain) { {type: html.THEAD, list: [{type: html.TR, list: can.core.List(domain, function(domain) {
return {type: html.TH, list: [can.onimport.item(can, list[""][domain], list)]} return {type: html.TH, list: [can.onimport.item(can, list[""][domain], list)]}
@ -26,6 +26,7 @@ Volcanos(chat.ONIMPORT, {
})} })}
})}, })},
] }]), can.onmotion.delay(can, function() { can.Status(mdb.COUNT, can.core.Item(list).length+"x"+can.core.List(domain).length) }) ] }]), can.onmotion.delay(can, function() { can.Status(mdb.COUNT, can.core.Item(list).length+"x"+can.core.List(domain).length) })
}
}, },
void: function(can, name, domain, list) { var worker = list[name][""], server = list[""][domain] void: function(can, name, domain, list) { var worker = list[name][""], server = list[""][domain]
return {view: html.ACTION, _init: function(target) { return {view: html.ACTION, _init: function(target) {
@ -41,8 +42,7 @@ Volcanos(chat.ONIMPORT, {
{view: wiki.TITLE, list: [ {view: wiki.TITLE, list: [
{text: item.name||item.domain||location.host, onclick: cb(web.OPEN)}, {text: item.name||item.domain||location.host, onclick: cb(web.OPEN)},
item.status != cli.STOP && can.onappend.label(can, item, {version: icon.version, time: icon.compile, access: "bi bi-file-lock"}), item.status != cli.STOP && can.onappend.label(can, item, {version: icon.version, time: icon.compile, access: "bi bi-file-lock"}),
{text: [item.text, "", mdb.STATUS]}, {text: [item.text, "", mdb.STATUS]}, can.onappend.buttons(can, item),
can.onappend.buttons(can, item),
]}, ]},
], _init: function(target) { item._target = target }} ], _init: function(target) { item._target = target }}
}, },
@ -56,18 +56,18 @@ Volcanos(chat.ONIMPORT, {
}, },
}, [""]) }, [""])
Volcanos(chat.ONACTION, { Volcanos(chat.ONACTION, {
upgrade: function(event, can) { upgrade: function(event, can) { var msg = can.request(event)
var msg = can.request(event); if (msg.Option(mdb.NAME) || msg.Option(web.DOMAIN)) { return can.Update(event, [ctx.ACTION, code.UPGRADE]) } if (msg.Option(mdb.NAME) || msg.Option(web.DOMAIN)) { return can.Update(event, [ctx.ACTION, code.UPGRADE]) }
can.page.ClassList.add(can, can._output, "process") can.page.ClassList.add(can, can._output, ice.PROCESS)
can.core.Next(can.db.server, function(server, next, index) { can.core.Next(can.db.server, function(server, next, index) {
can.core.Next(can.core.Item(can.db.list, function(key, value) { return value }), function(list, next, i) { can.core.Next(can.core.Item(can.db.list, function(key, value) { return value }), function(list, next, i) {
var item = list[server]; if (!item) { return next() } if (!item.name || item.status != cli.START) { return next() } var item = list[server]; if (!item) { return next() } if (!item.name || item.status != cli.START) { return next() }
can.page.ClassList.add(can, item._target, "process") can.page.ClassList.add(can, item._target, ice.PROCESS)
can.Update(can.request({}, item, {_handle: ice.TRUE}), [ctx.ACTION, code.UPGRADE], function(msg) { next() }) can.Update(can.request({}, item, {_handle: ice.TRUE}), [ctx.ACTION, code.UPGRADE], function(msg) { next() })
}, next) }, next)
}, function() { }, function() {
can.core.Next(can.db.server, function(server, next, index) { can.core.Next(can.db.server, function(server, next, index) {
var item = can.db.list[""][server]; can.page.ClassList.add(can, item._target, "process") var item = can.db.list[""][server]; can.page.ClassList.add(can, item._target, ice.PROCESS)
can.Update(can.request({}, item, {_handle: ice.TRUE}), [ctx.ACTION, code.UPGRADE], function(msg) { next() }) can.Update(can.request({}, item, {_handle: ice.TRUE}), [ctx.ACTION, code.UPGRADE], function(msg) { next() })
}, function() { can.onmotion.delay(can, function() {can.Update() }, 3000) }) }, function() { can.onmotion.delay(can, function() {can.Update() }, 3000) })
}) })