1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 08:48:06 +08:00
This commit is contained in:
harveyshao 2022-12-11 20:18:27 +08:00
parent d81a08d4ae
commit 65c8ff8de6
10 changed files with 70 additions and 31 deletions

View File

@ -97,12 +97,12 @@ Volcanos("misc", {Message: function(event, can) { var msg = {}
if (meta[cmds[0]]) { return meta[cmds[0]](cmds.slice(1)), true }
},
Run: function(event, can, dataset, cmds, cb) { var msg = can.request(event)
var form = {cmds: cmds||msg.cmd}; msg.option && msg.option.forEach(function(item) {
var form = {}; msg.option && msg.option.forEach(function(item) {
if ([ice.MSG_HANDLE, ice.MSG_DAEMON].indexOf(item) > -1) { return }
if (can.base.isObject(msg.Option(item))) { return }
if (can.base.isFunc(msg.Option(item))) { return }
msg[item] && (form[item] = msg[item])
})
}), form.cmds = cmds||form.cmds
can.misc.POST(can, msg, can.base.MergeURL(dataset.names.toLowerCase(),
"_name", (msg._can.sup||msg._can)._name, "_index", (msg._can.sup||msg._can)._index, ice.MSG_DAEMON, msg.__daemon||dataset.daemon||""
), form, cb)

View File

@ -140,7 +140,7 @@ Volcanos("page", {ClassList: {
case mdb.PAGE:
_list.push({type: html.TEXT, name: mdb.LIMIT, value: can._msg.Option(mdb.LIMIT)})
_list.push({type: html.TEXT, name: mdb.OFFEND, value: can._msg.Option(mdb.OFFEND)})
_list.push(mdb.PREV, mdb.NEXT)
_list.push(mdb.NEXT, mdb.PREV)
break
default:
(function() { var item = can.core.SplitInput(list[i], html.BUTTON);

View File

@ -60,6 +60,10 @@ Volcanos("user", {info: {}, agent: {
web.CLEAR, "清空", web.REFRESH, "刷新", web.SUBMIT, "提交", web.CANCEL, "取消", web.UPLOAD, "上传", web.DOWNLOAD, "下载", web.TOIMAGE, "截图", web.SHARE, "共享",
"Close", "关闭", "Close others", "关闭其它", "Close all", "关闭所有",
chat.IFRAME, "浏览", chat.LOCATION, "地图",
nfs.SAVE, "保存", nfs.LOAD, "加载",
cli.ORDER, "加载",
aaa.INVITE, "邀请",
cli.SYSTEM, "命令",
"revert", "恢复",
"full", "全屏",
)[text]||text

View File

@ -47,7 +47,8 @@ div.output div.project div.list { margin-left:10px; }
div.output div.project div.switch { transform: rotate(90deg) translate(1px, 0px); width:12px; float:left; }
div.output div.project div.switch.open { transform: rotate(180deg) translate(-4px, 4px); }
div.output div.project div.zone>div.name { background-color:steelblue; color:white; text-align:center; padding:3px; clear:both; }
div.output div.project div.zone>div.list>div.zone>div.name { padding-left:20px; text-align:left; }
div.output div.project div.zone>div.list>div.zone>div.name { background-color:#09466fc2; padding-left:20px; text-align:left; }
div.output div.project div.zone>div.list>div.zone>div.name:hover { background-color:#3c7da8d9; }
div.output div.project div.item>div.name { padding-left:20px; }
div.output div.project div.zone>div.action>div.item { padding:0; margin:0; float:right; clear:none; }
div.output div.project div.zone>div.action>div.item input[type=text] { background-color:#ff000000; padding-left:10px; color:white; }
@ -186,6 +187,7 @@ body.white fieldset.panel.Action div.action { color:white; }
body.white fieldset.plugin { background-color:#ffffffa1; }
body.white fieldset.float { background-color:#0e3369; color:white; }
body.white fieldset.full { background-color:#0e3369; color:white; }
body.white div.output div.project div.zone>div.list>div.zone>div.name { background-color:#09466f66; color:black; }
/* white hover */
body.white legend:hover { background-color:skyblue; }

View File

@ -9,19 +9,16 @@ Volcanos(chat.ONIMPORT, {
},
tabInputs: function(event, can, ps, key, pre, cb, parent) {
var core = ["usr/icebergs/core/", "usr/volcanos/plugin/local/"]
can.runAction(event, mdb.INPUTS, [key, pre], function(msg) { var _trans = {}
var carte = can.user[parent? "carteRight": "carte"](event, can, {}, msg.Table(function(value) { var p = can.base.trimPrefix(value[key], pre)
if (can.base.beginWith(pre, "usr/icebergs/core/") && can.base.beginWith(value[key], "usr/volcanos/plugin/local/")) {
var p = can.base.trimPrefix(can.base.replaceAll(value[key], "usr/volcanos/plugin/local/", "usr/icebergs/core/"), pre)
}
if (can.base.beginWith(pre, "usr/volcanos/plugin/local/") && can.base.beginWith(value[key], "usr/icebergs/core/")) {
var p = can.base.trimPrefix(can.base.replaceAll(value[key], "usr/icebergs/core/", "usr/volcanos/plugin/local/"), pre)
}
if (can.base.beginWith(pre, core[0]) && can.base.beginWith(value[key], core[1])) { var p = can.base.trimPrefix(can.base.replaceAll(value[key], core[1], core[0]), pre) }
if (can.base.beginWith(pre, core[1]) && can.base.beginWith(value[key], core[0])) { var p = can.base.trimPrefix(can.base.replaceAll(value[key], core[0], core[1]), pre) }
return _trans[p] = value[key], p
}), function(event, button) {
can.base.endWith(button, ps)? can.onimport.tabInputs(event, can, ps, key, pre+button, cb, carte): cb(can.core.Split(_trans[button], ps), pre)
}, parent)._target, _p = can.core.Split(event.target.innerHTML.trim(), ice.PT)[0]
can.page.Select(can, carte, html.DIV_ITEM, function(target) { can.base.beginWith(target.innerHTML, _p) && carte.insertBefore(target, carte.firstChild) })
can.page.Select(can, carte, html.DIV_ITEM, function(target) { event.target.innerHTML.trim() != target.innerHTML.trim() && can.base.beginWith(target.innerHTML, _p) && carte.insertBefore(target, carte.firstChild) })
function remove(p) { if (p && p._sub) { remove(p._sub), can.page.Remove(can, p._sub), delete(p._sub) } } if (parent) { remove(parent), parent._sub = carte }
})
},

View File

@ -40,11 +40,11 @@ Volcanos(chat.ONSYNTAX, {
"#": code.KEYWORD,
},
regexp: {
"^u_\\w+$": code.DATATYPE,
"^\\w+_t$": code.DATATYPE,
"^\\w+_pt$": code.DATATYPE,
"^[-]*\\d+$": code.CONSTANT,
"^[A-Z0-9_]+$": code.CONSTANT,
"^u_\\w $": code.DATATYPE,
"^\\w _t$": code.DATATYPE,
"^\\w _pt$": code.DATATYPE,
"^[-]*\\d $": code.CONSTANT,
"^[A-Z0-9_] $": code.CONSTANT,
},
keyword: {
"#include": code.KEYWORD,
@ -107,9 +107,8 @@ Volcanos(chat.ONSYNTAX, {
},
},
sh: {
render: {},
split: {
operator: "=",
operator: "=()|><;",
},
prefix: {
"#": code.COMMENT,
@ -118,7 +117,7 @@ Volcanos(chat.ONSYNTAX, {
" {": code.COMMENT,
},
regexp: {
"[A-Z0-9_]+": code.CONSTANT,
"[A-Z0-9_] ": code.CONSTANT,
},
keyword: {
"local": code.KEYWORD,
@ -134,17 +133,42 @@ Volcanos(chat.ONSYNTAX, {
"elif": code.KEYWORD,
"else": code.KEYWORD,
"fi": code.KEYWORD,
"for": code.KEYWORD,
"while": code.KEYWORD,
"do": code.KEYWORD,
"done": code.KEYWORD,
"case": code.KEYWORD,
"in": code.KEYWORD,
"esac": code.KEYWORD,
"shift": code.FUNCTION,
"eval": code.FUNCTION,
"trap": code.FUNCTION,
"test": code.FUNCTION,
"echo": code.FUNCTION,
"mkdir": code.FUNCTION,
"cat": code.FUNCTION,
"rm": code.FUNCTION,
"mkdir": code.FUNCTION,
"mktemp": code.FUNCTION,
"history": code.FUNCTION,
"complete": code.FUNCTION,
"compgen": code.FUNCTION,
"bind": code.FUNCTION,
"alias": code.FUNCTION,
"xargs": code.FUNCTION,
"curl": code.FUNCTION,
"sed": code.FUNCTION,
"tr": code.FUNCTION,
"du": code.FUNCTION,
"cut": code.FUNCTION,
"tail": code.FUNCTION,
"head": code.FUNCTION,
"grep": code.FUNCTION,
"/dev/null": code.CONSTANT,
"DEBUG": code.CONSTANT,
"EXIT": code.CONSTANT,
},
}, configure: {link: "sh"},
shy: {
@ -171,11 +195,11 @@ Volcanos(chat.ONSYNTAX, {
},
go: {
split: {
operator: "{([-+:;!.,*])}",
operator: "{([- :;!.,*])}",
},
regexp: {
"[0-9]+": code.CONSTANT,
"[A-Z_0-9]+": code.CONSTANT,
"[0-9] ": code.CONSTANT,
"[A-Z_0-9] ": code.CONSTANT,
},
prefix: {
"//": code.COMMENT,
@ -266,7 +290,7 @@ Volcanos(chat.ONSYNTAX, {
},
js: {
split: {
operator: "{[(.,:;!?|<*>-+)]}",
operator: "{[(.,:;!?|<*>- )]}",
},
prefix: {
"// ": code.COMMENT,
@ -342,8 +366,12 @@ Volcanos(chat.ONSYNTAX, {
operator: ".[]()>,{:;}",
},
regexp: {
"[-0-9]+px": code.CONSTANT,
"#[^ ;]+": code.CONSTANT,
"[-0-9] px": code.CONSTANT,
"#[^ ;] ": code.CONSTANT,
},
prefix: {
"// ": code.COMMENT,
"/* ": code.COMMENT,
},
keyword: {
"body": code.KEYWORD,
@ -366,6 +394,9 @@ Volcanos(chat.ONSYNTAX, {
"h1": code.KEYWORD,
"h2": code.KEYWORD,
"h3": code.KEYWORD,
"hover": code.DATATYPE,
"focus": code.DATATYPE,
"background-color": code.FUNCTION,
"font-family": code.FUNCTION,

View File

@ -28,7 +28,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) {
Volcanos(chat.ONFIGURE, {
create: function(can, target, zone, path) {
can.isCmdMode()? can.onappend._action(can, can.base.Obj(can._msg.Option(ice.MSG_ACTION)).concat(
["favor", "git", "首页", "官网" , "文档" , "百度"], window.webview? ["浏览器", "录屏", "编辑器", "日志"]: [],
["favor", "git", "首页", "官网" , "文档" , "百度"], window.webview? ["浏览器", "录屏", "日志", "编辑器"]: [],
), target): can.onmotion.hidden(can, target.parentNode)
},
recent: function(can, target, zone, path) { var total = 0

View File

@ -142,7 +142,7 @@ Volcanos(chat.ONACTION, {list: [
"生成链接": function(event, can) { can.onmotion.share(event, can, [], [mdb.LINK, can.user.copy(event, can, can.onexport.link(can))]) },
"生成脚本": function(event, can) { var conf = can.Conf()
var args = can.Input().join(ice.SP), list = [
"export ctx_dev="+location.origin+"; ctx_temp=$(mktemp); curl -o $ctx_temp -fsSL $ctx_dev;"+" source $ctx_temp "+(conf.index||"")+ice.SP+args,
"export ctx_dev="+location.origin+"; ctx_temp=$(mktemp); curl -o $ctx_temp -fsSL $ctx_dev;"+" source $ctx_temp cmd "+(conf.index||"")+ice.SP+args,
"ish_sys_dev_run_command "+args, "ish_sys_dev_run_action", "ish_sys_dev_run_source",
]
can.user.copy(event, can, list[0])

View File

@ -163,7 +163,11 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) { can.onmotion.cl
meta.type = "plug", can.onappend.plugin(can, meta, function(sub) { sub.sup = can
sub.ConfHeight(target.offsetHeight-2*html.ACTION_HEIGHT), sub.ConfWidth(target.offsetWidth)
can.page.style(can, sub._output, html.MAX_HEIGHT, sub.ConfHeight(), html.MAX_WIDTH, sub.ConfWidth())
sub.run = function(event, cmds, cb) { can.runActionCommand(can.request(event, can.Option()), meta.index, cmds, cb) }
sub.run = function(event, cmds, cb) {
if (can.page.Select(can, sub._option, "input[name=path]").length > 0 && sub.Option(nfs.PATH) == "") {
sub.request(event, {path: "./"})
}
can.runActionCommand(can.request(event, can.Option()), meta.index, cmds, cb) }
sub.onaction.close = function() { can.onmotion.hidden(can, target) }
can.base.isFunc(cb) && cb(sub)
}, target)

View File

@ -64,12 +64,13 @@ var ctx = {
EXTRA_INDEX: "extra.index", EXTRA_ARGS: "extra.args",
}
var cli = {
DAEMON: "daemon",
SYSTEM: "system", DAEMON: "daemon",
BEGIN: "begin", START: "start", OPEN: "open", CLOSE: "close", STOP: "stop", END: "end", RESTART: "restart",
COLOR: "color", WHITE: "white", BLACK: "black", RED: "red", GREEN: "green", BLUE: "blue",
YELLOW: "yellow", CYAN: "cyan", PURPLE: "purple", MAGENTA: "magenta", GLASS: "#0000",
MAKE: "make", MAIN: "main", EXEC: "exec", DONE: "done", COST: "cost", FROM: "from", CLEAR: "clear",
PWD: "pwd",
ORDER: "order",
}
var aaa = {
LOGIN: "login", LOGOUT: "logout", INVITE: "invite", TOKEN: "token",