mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 08:48:06 +08:00
opt url
This commit is contained in:
parent
8aa1f22883
commit
568f0e96ac
7
const.js
7
const.js
@ -358,18 +358,19 @@ var icon = {
|
|||||||
admin: "bi bi-window-sidebar", login: "bi bi-person-check",
|
admin: "bi bi-window-sidebar", login: "bi bi-person-check",
|
||||||
configs: "bi bi-gear", conf: "bi bi-gear", logs: "bi bi-calendar4-week",
|
configs: "bi bi-gear", conf: "bi bi-gear", logs: "bi bi-calendar4-week",
|
||||||
help: "bi bi-question-square", doc: "bi bi-question-square",
|
help: "bi bi-question-square", doc: "bi bi-question-square",
|
||||||
play: "bi bi-play-circle", full: "bi bi-arrows-fullscreen", app: "bi bi-box-arrow-up-right",
|
play: "bi bi-play-circle", full: "bi bi-arrows-fullscreen", app: "bi bi-box-arrow-down-right",
|
||||||
open: "bi bi-box-arrow-up-right", main: "bi bi-box-arrow-up-right", portal: "bi bi-box-arrow-up-right",
|
open: "bi bi-box-arrow-up-right", main: "bi bi-box-arrow-up-right", portal: "bi bi-box-arrow-up-right",
|
||||||
push: "bi bi-cloud-upload", pull: "bi bi-cloud-download",
|
push: "bi bi-cloud-upload", pull: "bi bi-cloud-download",
|
||||||
start: "bi bi-play-circle", stop: "bi bi-stop-circle",
|
start: "bi bi-play-circle", stop: "bi bi-stop-circle",
|
||||||
trash: "bi bi-trash", remove: "bi bi-trash",
|
trash: "bi bi-trash", remove: "bi bi-trash",
|
||||||
record1: "bi bi-images", record2: "bi bi-record-circle",
|
record1: "bi bi-images", record2: "bi bi-record-circle",
|
||||||
upload: "bi bi-cloud-upload", download: "bi bi-cloud-download",
|
upload: "bi bi-box-arrow-in-up", download: "bi bi-box-arrow-down",
|
||||||
|
"export": "bi bi-box-arrow-up", "import": "bi bi-box-arrow-in-down",
|
||||||
more: "bi bi-three-dots-vertical", actions: "bi bi-three-dots",
|
more: "bi bi-three-dots-vertical", actions: "bi bi-three-dots",
|
||||||
preview: "bi bi-window-stack", show: "bi bi-window-stack",
|
preview: "bi bi-window-stack", show: "bi bi-window-stack",
|
||||||
display: "bi bi-window-desktop", exec: "bi bi-window-desktop",
|
display: "bi bi-window-desktop", exec: "bi bi-window-desktop",
|
||||||
compile: "bi bi-tools", publish: "bi bi-send-check", version: "bi bi-tags", upgrade: "bi bi-rocket-takeoff",
|
compile: "bi bi-tools", publish: "bi bi-send-check", version: "bi bi-tags", upgrade: "bi bi-rocket-takeoff",
|
||||||
vimer: "bi bi-keyboard", repos: "bi bi-git", build: "bi bi-tools", tag: "bi bi-tags",
|
vimer: "bi bi-code-slash", repos: "bi bi-git", build: "bi bi-tools", tag: "bi bi-tags",
|
||||||
xterm: "bi bi-terminal", cmds: "bi bi-terminal",
|
xterm: "bi bi-terminal", cmds: "bi bi-terminal",
|
||||||
}
|
}
|
||||||
var svg = {
|
var svg = {
|
||||||
|
4
frame.js
4
frame.js
@ -314,7 +314,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
|||||||
field: function(can, type, item, target) { type = type||html.STORY, item = item||{}
|
field: function(can, type, item, target) { type = type||html.STORY, item = item||{}
|
||||||
var name = can.core.Split(item.nick||item.name||"").pop()||""; can.base.isIn(name,
|
var name = can.core.Split(item.nick||item.name||"").pop()||""; can.base.isIn(name,
|
||||||
tcp.SERVER, tcp.CLIENT, web.STUDIO, web.SERVICE, mdb.SEARCH,
|
tcp.SERVER, tcp.CLIENT, web.STUDIO, web.SERVICE, mdb.SEARCH,
|
||||||
) && (name = (item.index||"").split(".").slice(-2).join(".")), type != html.PLUG && (name = can.core.Keys(item._space||item.space, name))
|
) && (name = (item.index||"").split(".").slice(-2).join(".")), (type != html.PLUG) && (name = can.core.Keys(item._space||item.space, name))
|
||||||
var title = item.title || (item.help && item.help != name && !can.user.isEnglish(can)? name+"("+can.core.Split(item.help)[0]+")": name)
|
var title = item.title || (item.help && item.help != name && !can.user.isEnglish(can)? name+"("+can.core.Split(item.help)[0]+")": name)
|
||||||
target = can.base.isFunc(target)? target(): target
|
target = can.base.isFunc(target)? target(): target
|
||||||
return can.page.Append(can, target||can._output, [{view: [type, html.FIELDSET], list: [{type: html.LEGEND, list: [item.icon && {icon: item.icon}, {text: title}]}, {view: [html.OPTION, html.FORM]}, html.ACTION, html.OUTPUT, html.STATUS]}])
|
return can.page.Append(can, target||can._output, [{view: [type, html.FIELDSET], list: [{type: html.LEGEND, list: [item.icon && {icon: item.icon}, {text: title}]}, {view: [html.OPTION, html.FORM]}, html.ACTION, html.OUTPUT, html.STATUS]}])
|
||||||
@ -580,7 +580,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
|
|||||||
var value = can.onengine.plugin(can, meta.index); if (value) { can.onappend._plugin(can, value, meta, function(sub, meta, skip) {
|
var value = can.onengine.plugin(can, meta.index); if (value) { can.onappend._plugin(can, value, meta, function(sub, meta, skip) {
|
||||||
value.meta && value.meta._init && value.meta._init(sub, meta), _cb(sub, meta, skip) }, target, field); return res }
|
value.meta && value.meta._init && value.meta._init(sub, meta), _cb(sub, meta, skip) }, target, field); return res }
|
||||||
can.runAction(can.request({}, {_method: http.GET, pod: meta.space})._caller(), ctx.COMMAND, [meta.index], function(msg) {
|
can.runAction(can.request({}, {_method: http.GET, pod: meta.space})._caller(), ctx.COMMAND, [meta.index], function(msg) {
|
||||||
if (msg.Length() == 0) { can.onappend._plugin(can, {index: "can._plugin", style: html.HIDE}, meta, _cb, target, field) }
|
if (msg.Length() == 0) { return can.misc.Warn("not found", meta.index), can.onappend._plugin(can, {index: "can._plugin", style: html.HIDE}, meta, _cb, target, field) }
|
||||||
msg.Table(function(value) { can.onappend._plugin(can, value, meta, _cb, target, field) })
|
msg.Table(function(value) { can.onappend._plugin(can, value, meta, _cb, target, field) })
|
||||||
}); return res
|
}); return res
|
||||||
},
|
},
|
||||||
|
11
lib/misc.js
11
lib/misc.js
@ -192,21 +192,24 @@ Volcanos("misc", {
|
|||||||
if (can.base.beginWith(obj.pod, nfs.PS, web.HTTP)) {
|
if (can.base.beginWith(obj.pod, nfs.PS, web.HTTP)) {
|
||||||
if (location.search.indexOf("debug=true") > 0 && obj.pod.indexOf("debug=true") == -1) {
|
if (location.search.indexOf("debug=true") > 0 && obj.pod.indexOf("debug=true") == -1) {
|
||||||
var ls = obj.pod.split("#"); ls[0] += (ls[0].indexOf("?") > 0? "&": "?") + "debug=true", obj.pod = ls.join("#")
|
var ls = obj.pod.split("#"); ls[0] += (ls[0].indexOf("?") > 0? "&": "?") + "debug=true", obj.pod = ls.join("#")
|
||||||
}
|
} return obj.pod
|
||||||
return obj.pod
|
|
||||||
}
|
}
|
||||||
obj.pod = obj.pod||can.misc.Search(can, ice.POD); return can.misc.MergeURL(can, obj, true)
|
obj.pod = obj.pod||can.misc.Search(can, ice.POD); return can.misc.MergeURL(can, obj, true)
|
||||||
// obj.pod = can.core.Keys(can.misc.Search(can, ice.POD), obj.pod); return can.misc.MergeURL(can, obj, true)
|
// obj.pod = can.core.Keys(can.misc.Search(can, ice.POD), obj.pod); return can.misc.MergeURL(can, obj, true)
|
||||||
},
|
},
|
||||||
MergeURL: function(can, obj, clear) { var path = location.pathname; obj._path && (path = obj._path), delete(obj._path)
|
MergeURL: function(can, obj, clear) { var path = location.pathname; obj._path && (path = obj._path), delete(obj._path)
|
||||||
can.misc.Search(can, log.DEBUG) && (obj.debug = ice.TRUE); var hash = obj._hash||""; delete(obj._hash)
|
can.misc.Search(can, log.DEBUG) && (obj.debug = ice.TRUE); var hash = obj._hash||""; delete(obj._hash)
|
||||||
var args = [web.CHAT]; can.core.List([ice.POD, ice.CMD], function(key) { obj[key] && args.push(key, obj[key]), delete(obj[key]) })
|
// var args = [web.CHAT]; can.core.List([ice.POD, ice.CMD], function(key) { obj[key] && args.push(key, obj[key]), delete(obj[key]) })
|
||||||
|
var args = []; can.core.List([ice.POD, ice.CMD], function(key) { obj[key] && args.push(key == ice.POD? "s": "c", obj[key]), delete(obj[key]) })
|
||||||
var _location = location; if (can.user.isExtension) { var _location = new URL(Volcanos.meta.iceberg) }
|
var _location = location; if (can.user.isExtension) { var _location = new URL(Volcanos.meta.iceberg) }
|
||||||
return can.base.MergeURL(_location.origin+(args.length == 1? path: nfs.PS+args.join(nfs.PS))+(clear? "": _location.search), obj)+(hash? "#"+hash: "")
|
return can.base.MergeURL(_location.origin+(args.length == 1? path: nfs.PS+args.join(nfs.PS))+(clear? "": _location.search), obj)+(hash? "#"+hash: "")
|
||||||
},
|
},
|
||||||
ParseURL: function(can, url) { url = url||location.href; var args = can.base.ParseURL(url), _location = new URL(url)
|
ParseURL: function(can, url) { url = url||location.href; var args = can.base.ParseURL(url), _location = new URL(url)
|
||||||
delete(args.link), delete(args.origin), delete(args._origin)
|
delete(args.link), delete(args.origin), delete(args._origin)
|
||||||
var ls = can.core.Split(_location.pathname, nfs.PS); if (ls[0] == chat.SHARE) { args[chat.SHARE] = ls[1] }
|
var ls = can.core.Split(_location.pathname, nfs.PS);
|
||||||
|
if (ls[0] == chat.SHARE) { args[chat.SHARE] = ls[1] }
|
||||||
|
if (ls[0] == "s") { args[ice.POD] = ls[1]; if (ls[2] == "c") { args[ice.CMD] = ls[3] } }
|
||||||
|
if (ls[0] == "c") { args[ice.CMD] = ls[1] }
|
||||||
for (var i = 1; i < ls.length; i += 2) { if (can.base.isIn(ls[i], [ice.POD, ice.CMD])) { args[ls[i]] = ls[i+1] } }
|
for (var i = 1; i < ls.length; i += 2) { if (can.base.isIn(ls[i], [ice.POD, ice.CMD])) { args[ls[i]] = ls[i+1] } }
|
||||||
return args
|
return args
|
||||||
},
|
},
|
||||||
|
@ -9,7 +9,7 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
_display: function(can, msg) { can.onappend._output(can, msg, msg.Option(ice.MSG_DISPLAY)) },
|
_display: function(can, msg) { can.onappend._output(can, msg, msg.Option(ice.MSG_DISPLAY)) },
|
||||||
_clear: function(can, msg) { can.onmotion.clear(can) },
|
_clear: function(can, msg) { can.onmotion.clear(can) },
|
||||||
_inner: function(can, sub, msg) { can.onappend.table(sub, msg), can.onappend.board(sub, msg), can.onmotion.story.auto(sub) },
|
_inner: function(can, sub, msg) { can.onappend.table(sub, msg), can.onappend.board(sub, msg), can.onmotion.story.auto(sub) },
|
||||||
_field: function(can, msg, cb) { var height = can.base.Max(html.STORY_HEIGHT, can.ConfHeight(), can.onexport.outputHeight(can)), width = can.ConfWidth()
|
_field: function(can, msg, cb) { var height = can.base.Max(html.STORY_HEIGHT, can.ConfHeight()), width = can.ConfWidth()
|
||||||
msg.Table(function(item) { can.onappend._plugin(can, item, {_space: can.ConfSpace(), index: item.index, args: can.base.Obj(item.args||item.arg, []), height: height, width: width}, function(sub) {
|
msg.Table(function(item) { can.onappend._plugin(can, item, {_space: can.ConfSpace(), index: item.index, args: can.base.Obj(item.args||item.arg, []), height: height, width: width}, function(sub) {
|
||||||
can.onmotion.delay(can, function() { can.onmotion.scrollIntoView(can, sub._target) }, 300)
|
can.onmotion.delay(can, function() { can.onmotion.scrollIntoView(can, sub._target) }, 300)
|
||||||
sub.run = function(event, cmds, cb) { var index = msg.Option(ice.MSG_INDEX)
|
sub.run = function(event, cmds, cb) { var index = msg.Option(ice.MSG_INDEX)
|
||||||
@ -50,7 +50,7 @@ Volcanos(chat.ONIMPORT, {
|
|||||||
can.page.Append(can, div, [{text: arg}]), can._output.scrollTop = div.offsetTop, div.scrollBy(0, 10000), true
|
can.page.Append(can, div, [{text: arg}]), can._output.scrollTop = div.offsetTop, div.scrollBy(0, 10000), true
|
||||||
})) { can.onappend.board(can, arg) }
|
})) { can.onappend.board(can, arg) }
|
||||||
},
|
},
|
||||||
_open: function(can, msg, arg) { can.user.opens(arg) },
|
_open: function(can, msg, arg) { can.user.opens(arg); if (can.ConfIndex() == "web.dream") { can.Update() } },
|
||||||
_close: function(can, msg) { can.user.close() || history.back() },
|
_close: function(can, msg) { can.user.close() || history.back() },
|
||||||
change: function(event, can, name, value, cb, data) { return can.page.SelectArgs(can, can._option, "", function(input) { if (input.name != name || value == input.value) { return }
|
change: function(event, can, name, value, cb, data) { return can.page.SelectArgs(can, can._option, "", function(input) { if (input.name != name || value == input.value) { return }
|
||||||
can.page.Select(can, input.parentNode, "span.value", function(target) { target.innerText = value })
|
can.page.Select(can, input.parentNode, "span.value", function(target) { target.innerText = value })
|
||||||
@ -81,6 +81,7 @@ Volcanos(chat.ONACTION, {list: ["刷新数据", "刷新界面", "切换浮动",
|
|||||||
function(can) { if (!can.isCmdMode()) { return "打开链接" } }, function(can) { if (can.isCmdMode()) { return "打开首页" } },
|
function(can) { if (!can.isCmdMode()) { return "打开链接" } }, function(can) { if (can.isCmdMode()) { return "打开首页" } },
|
||||||
function(can) { if (can.ConfSpace() || can.isCmdMode() && can.misc.Search(can, ice.POD)) { return "打开空间" } },
|
function(can) { if (can.ConfSpace() || can.isCmdMode() && can.misc.Search(can, ice.POD)) { return "打开空间" } },
|
||||||
function(can) { if (can.misc.Search(can, log.MSG_DEBUG)) { return "查看源码" } },
|
function(can) { if (can.misc.Search(can, log.MSG_DEBUG)) { return "查看源码" } },
|
||||||
|
function(can) { if (can.misc.Search(can, log.MSG_DEBUG)) { return "查看镜像" } },
|
||||||
["视图", "参数",
|
["视图", "参数",
|
||||||
function(can) { if (can._action.innerHTML) { return "操作" } },
|
function(can) { if (can._action.innerHTML) { return "操作" } },
|
||||||
function(can) { if (can._status.innerHTML) { return "状态" } },
|
function(can) { if (can._status.innerHTML) { return "状态" } },
|
||||||
@ -93,7 +94,7 @@ Volcanos(chat.ONACTION, {list: ["刷新数据", "刷新界面", "切换浮动",
|
|||||||
// ["数据", "保存参数", "清空参数", "复制数据", "下载数据", "清空数据"],
|
// ["数据", "保存参数", "清空参数", "复制数据", "下载数据", "清空数据"],
|
||||||
["调试",
|
["调试",
|
||||||
function(can) { if (can.Conf("_help")) { return "查看文档" } },
|
function(can) { if (can.Conf("_help")) { return "查看文档" } },
|
||||||
"查看脚本", "查看源码",
|
"查看脚本", "查看源码", "查看镜像",
|
||||||
"查看通知", "查看视图", "查看数据", "会话存储", "本地存储",
|
"查看通知", "查看视图", "查看数据", "会话存储", "本地存储",
|
||||||
"查看报文", "查看配置", "查看日志", "删除工具",
|
"查看报文", "查看配置", "查看日志", "删除工具",
|
||||||
],
|
],
|
||||||
@ -161,6 +162,7 @@ Volcanos(chat.ONACTION, {list: ["刷新数据", "刷新界面", "切换浮动",
|
|||||||
"查看文档": function(event, can) { can.requests(event, {action: ice.HELP}), can.onengine.signal(can, chat.ONDEBUGS, can.requestPodCmd(event)) },
|
"查看文档": function(event, can) { can.requests(event, {action: ice.HELP}), can.onengine.signal(can, chat.ONDEBUGS, can.requestPodCmd(event)) },
|
||||||
"查看脚本": function(event, can) { can.onappend._float(can, web.CODE_VIMER, can.misc.SplitPath(can, can.sub._path)) },
|
"查看脚本": function(event, can) { can.onappend._float(can, web.CODE_VIMER, can.misc.SplitPath(can, can.sub._path)) },
|
||||||
"查看源码": function(event, can) { can.requests(event, {action: nfs.SOURCE}), can.onengine.signal(can, chat.ONDEBUGS, can.requestPodCmd(event)) },
|
"查看源码": function(event, can) { can.requests(event, {action: nfs.SOURCE}), can.onengine.signal(can, chat.ONDEBUGS, can.requestPodCmd(event)) },
|
||||||
|
"查看镜像": function(event, can) { can.onappend._float(can, {index: "web.code.compile"}) },
|
||||||
"查看通知": function(event, can) { can.onappend._float(can, {index: "can.toast"}, [can.ConfIndex()]) },
|
"查看通知": function(event, can) { can.onappend._float(can, {index: "can.toast"}, [can.ConfIndex()]) },
|
||||||
"查看视图": function(event, can) { can.onappend._float(can, {index: "can.view", _target: can._fields||can._target}) },
|
"查看视图": function(event, can) { can.onappend._float(can, {index: "can.view", _target: can._fields||can._target}) },
|
||||||
"查看数据": function(event, can) { can.onappend._float(can, {index: "can.data", _target: can}) },
|
"查看数据": function(event, can) { can.onappend._float(can, {index: "can.data", _target: can}) },
|
||||||
|
Loading…
x
Reference in New Issue
Block a user