1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 08:48:06 +08:00
This commit is contained in:
IT 老营长 @云轩领航-创始人 2023-05-11 13:10:10 +08:00
parent a0ab7e58a0
commit 97239bcca5
8 changed files with 19 additions and 9 deletions

View File

@ -29,6 +29,7 @@ Volcanos(chat.ONENGINE, {_init: function(can, meta, list, cb, target) { can.requ
if (sub._daemon) { msg.Option(ice.MSG_DAEMON, can.core.Keys(can.ondaemon._list[0], sub._daemon)) }
} can.onengine.signal(panel, chat.ONREMOTE, can.request({}, {_follow: panel._follow, _msg: msg, _cmds: cmds}))
var names = msg.Option(chat._NAMES)||panel._names||((can.Conf("iceberg")||Volcanos.meta.iceberg)+panel._name)
if (!can.misc.CookieSessid(can) && can.user.info.sessid) { msg.Option(ice.MSG_SESSID, can.user.info.sessid) }
if (msg.Option("log.trace") == ice.TRUE) { debugger }
can.misc.Run(event, can, {names: names, daemon: msg[ice.MSG_DAEMON]}, cmds, function(msg) { toast && toast.close(), toast = true
if (msg.Option("log.trace") == ice.TRUE) { debugger }
@ -175,7 +176,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
msg.RunAction(event, can.core.Value(can, chat._OUTPUTS_CURRENT), cmds) || msg.RunAction(event, can, cmds) || can.Update(event, cmds)
}}])
})
can.core.List(args.slice(can.core.List(meta.inputs, function(item) { if (can.base.isIn(item.type, mdb.TEXT, mdb.SELECT)) { return item } }).length), function(item, index) { meta.inputs.push({type: mdb.TEXT, name: "args"+index, value: item}) })
can.core.List(args.slice(can.core.List(meta.inputs, function(item) { if (can.base.isIn(item.type, html.TEXTAREA, html.TEXT, html.SELECT)) { return item } }).length), function(item, index) { meta.inputs.push({type: mdb.TEXT, name: "args"+index, value: item}) })
function add(item, next) { item = can.base.isString(item)? {type: html.TEXT, name: item}: item, item.type != html.BUTTON && index++
return Volcanos(item.name, {_root: can._root, _follow: can.core.Keys(can._follow, item.name),
_target: can.onappend.input(can, item, args[index]||opts[item.name], option||can._option), _option: option||can._option, _action: can._action, _output: can._output, _status: can._status,

View File

@ -68,9 +68,7 @@ Volcanos("misc", {
}); return msg },
Event: function(event, can, cb) { for (var i = 3; i < arguments.length; i++) { can.request(event, arguments[i]) } cb(can.request(event)) },
Run: function(event, can, dataset, cmds, cb) { var msg = can.request(event), _can = msg._can; _can._fields && _can.sup && (_can = _can.sup)
var form = {cmds: cmds}; can.core.List(msg.option, function(key) {
!can.base.isIn(key, "log.caller") && msg[key] && (form[key] = msg[key])
})
var form = {cmds: cmds}; can.core.List(msg.option, function(key) { !can.base.isIn(key, "log.caller") && msg[key] && (form[key] = msg[key]) })
can.misc.POST(can, msg, can.base.MergeURL(dataset.names.toLowerCase(), ice.MSG_INDEX, _can._index), form, cb)
},
POST: function(can, msg, url, form, cb) { var xhr = new XMLHttpRequest(), begin = new Date(); msg._xhr = xhr

View File

@ -230,7 +230,10 @@ Volcanos("user", {
if (cmd == cli.PWD) { var _cmd = " space login "+arg[0]; return can.page.Modify(can, target, arg[2]), can.page.Append(can, target, [
{text: "<br/>请授权: "+_cmd, title: "点击复制,并后台执行此命令,即可登录", style: {cursor: "copy"}, onclick: function() { can.user.copy(event, can, _cmd) }},
]), can.onmotion.delay(can, function() { layout() }, 10) }
if (cmd == ice.MSG_SESSID) { return can.misc.CookieSessid(can, arg[0]), can.page.Remove(can, ui._target), can.base.isFunc(cb) && cb() }
if (cmd == ice.MSG_SESSID) {
if (!can.misc.CookieSessid(can, arg[0])) { can.user.info.sessid = arg[0] }
return can.page.Remove(can, ui._target), can.base.isFunc(cb) && cb()
}
}) },
"密码登录": function(target) { var _ui = can.page.Append(can, target, [input(aaa.USERNAME), input(aaa.PASSWORD, aaa.PASSWORD), button(kit.Dict(aaa.LOGIN, function(event) {
can.runAction(event, aaa.LOGIN, [_ui.username.value, _ui.password.value], function(msg) {

View File

@ -126,7 +126,7 @@ Volcanos(chat.ONEXPORT, {
})
Volcanos(chat.ONENGINE, {_engine: function(event, sup, msg, can, cmds, cb) {
var storm = can.core.Value(can._root, can.core.Keys(chat.RIVER, cmds[0], chat.STORM, cmds[1])); if (!storm || cmds.length != 2) { return false }
if (storm.index) { can.runAction(event, ctx.COMMAND, [].concat(storm.index), cb) } else { can.core.List(storm.list, function(value) {
if (storm.index) { can.runAction(event, ctx.COMMAND, [].concat(storm.index), cb) } else { can.core.List(storm.list, function(value) { can.base.isString(value) && (value = {index: value})
msg.Push(mdb.NAME, value.name||"").Push(mdb.HELP, value.help||"").Push(ctx.INPUTS, JSON.stringify(value.inputs)).Push(ctx.FEATURE, JSON.stringify(value.feature))
msg.Push(ctx.INDEX, value.index||"").Push(ctx.ARGS, value.args||"[]").Push(ctx.STYLE, value.style||"").Push(ctx.DISPLAY, value.display||"")
}), can.base.isFunc(cb) && cb(msg) } return true

View File

@ -1,5 +1,6 @@
fieldset.inner>form.option input[name=path] { width:80px; }
fieldset.inner>form.option input[name=file] { width:160px; }
fieldset.inner>div.output { overflow:hidden; }
fieldset.inner>div.output div.content { position:relative; }
fieldset.inner>div.output div.content td.text { height:20px; }
fieldset.inner>div.output div.content td.text span.comment { color:darkgray; }

View File

@ -137,7 +137,12 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { var paths = can.core.Sp
}
can.onimport.tabs(can, [{name: name, text: file, _menu: shy([
nfs.SAVE, nfs.TRASH, web.REFRESH,
], function(event, button, meta) { can.onaction[button](event, can, button) })}], function(event, tabs) {
], function(event, button, meta) {
if (button == "refresh") {
}
can.onaction[button](event, can, button)
})}], function(event, tabs) {
can._tab = msg._tab = tabs._target, show(skip), skip = true
}, function(tabs) { can.onengine.signal(can, VIEW_REMOVE, msg), can.ui.zone.source.refresh()
msg.__content || can.page.Remove(can, msg._content), msg._profile != can.ui._profile && can.page.Remove(can, msg._profile)
@ -303,6 +308,7 @@ Volcanos(chat.ONSYNTAX, {_init: function(can, msg, cb) { var key = can.onexport.
var index = msg.Option(ctx.INDEX).split(mdb.FS), item = {type: chat.STORY, index: index[0], args: index.slice(1)}
if (item.index == web.CODE_XTERM && item.args.length > 0) { item.style = html.OUTPUT }
if (item.index == web.CHAT_MACOS_SESSION && item.args.length > 0) { item.style = html.OUTPUT }
if (item.index == web.CHAT_MACOS_DESKTOP) { item.style = html.OUTPUT }
can.onimport.plug(can, item, function(sub) { sub.onimport.size(sub, can.ui.content.offsetHeight, can.ui.content.offsetWidth, true)
sub.onimport._open = function(_, msg, arg) {
var link = can.misc.ParseURL(can, arg); if (link.pod && arg.indexOf(location.origin) == 0) { can.onimport.tabview(can, "", link.pod, web.SPACE), sub.Update(); return }

View File

@ -7,8 +7,8 @@ fieldset.word>div.navmenu div.item { font-size:1.4em; font-weight:bold; font-fam
fieldset.word>div.navmenu>div.item { font-size:1.6em; }
fieldset.word>div.output { padding:10px; }
fieldset.word>div.output>p.story { margin:10px; }
fieldset.word>div.output>fieldset.story:not(:hover)>form.option { display:none; }
fieldset.word>div.output>fieldset.story:not(:hover)>div.action { display:none; }
// fieldset.word>div.output>fieldset.story:not(:hover)>form.option { display:none; }
// fieldset.word>div.output>fieldset.story:not(:hover)>div.action { display:none; }
fieldset.word a { word-break:break-all; }
fieldset.word img { word-break:break-all; }
fieldset.word svg.story[data-index] text { cursor:pointer; }

View File

@ -384,6 +384,7 @@ try { if (typeof(window) == lang.OBJECT) { var meta = Volcanos.meta
}
}
meta._init = function(can) {
window.onkeydown = function(event) { if (event.key == lang.ESCAPE) { can.onkeymap.prevent(event) } }
window.onmousemove = function(event) { window._mousemove && (window._mousemove(event)) }
window.onmouseup = function(event) { delete(window._scroll) }
window.ondblclick = function(event) { can.onkeymap.prevent(event) }