1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 16:58:06 +08:00
This commit is contained in:
IT 老营长 @云轩领航-创始人 2023-12-26 15:18:28 +08:00
parent d900548b10
commit ff590400ba
4 changed files with 52 additions and 12 deletions

View File

@ -353,7 +353,32 @@ var html = {value: {
var icon = {
CHEVRON_DOWN: "bi bi-chevron-down", SEARCH: "bi bi-search", TERMINAL: "bi bi-terminal",
SUN: "bi bi-sun", MOON: "bi bi-moon-stars",
help: "bi bi-question-square",
help: "bi bi-question-square", doc: "bi bi-question-square",
admin: "bi bi-window-sidebar", login: "bi bi-person-check",
vimer: "bi bi-keyboard", build: "bi bi-tools", repos: "bi bi-git",
xterm: "bi bi-terminal", cmds: "bi bi-terminal", cmd: "bi bi-terminal",
cat: "bi bi-file-earmark-code",
record1: "bi bi-images", record2: "bi bi-record-circle",
spide: "bi bi-diagram-3", travel: "bi bi-list-ol",
upload: "bi bi-cloud-upload", download: "bi bi-cloud-download",
push: "bi bi-cloud-upload", pull: "bi bi-cloud-download",
autogen: "bi bi-tools", preview: "bi bi-window-stack", show: "bi bi-window-stack",
start: "bi bi-play-circle", stop: "bi bi-stop-circle",
startall: "bi bi-play-circle", stopall: "bi bi-stop-circle",
play: "bi bi-play-circle",
conf: "bi bi-gear", configs: "bi bi-gear",
inspect: "bi bi-window-stack",
logs: "bi bi-calendar4-week",
tag: "bi bi-tags",
open: "bi bi-box-arrow-up-right",
main: "bi bi-box-arrow-up-right",
portal: "bi bi-box-arrow-up-right",
trash: "bi bi-trash", remove: "bi bi-trash",
more: "bi bi-three-dots-vertical", actions: "bi bi-three-dots",
}
var svg = {
GROUP: "group", PID: "pid", GRID: "grid",

View File

@ -176,10 +176,8 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
}, [item.display, chat.PLUGIN_INPUT_JS], function(sub) { sub.Conf(item)
sub._fields = can
if (item.type == html.TEXT) { can.page.Append(can, sub._target.parentNode, [{text: [sub._target.value, html.SPAN, mdb.VALUE]}]) }
if (item.type == html.BUTTON && can.base.isIn(item.name, mdb.CREATE, mdb.INSERT, mdb.PRUNES, mdb.PRUNE, ice.HELP)) {
can.onappend.icons(can, sub._target, item.name, function(event) {
can.Update(event, [ctx.ACTION, item.name].concat(can.page.SelectArgs(sub)))
})
if (item.type == html.BUTTON && can.page.isIconInput(can, item.name)) {
can.onappend.icons(can, sub._target, item.name, function(event) { can.Update(event, [ctx.ACTION, item.name].concat(can.page.SelectArgs(sub))) })
} item.type == html.BUTTON && can.onappend.icons(can, sub._target, can.Conf(["_icons", item.name]), function(event) {
can.Update(event, [ctx.ACTION, item.name].concat(can.page.SelectArgs(sub)))
})
@ -217,9 +215,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
}) }}: /* 4.其它 */(item.type == html.BUTTON && (item.value = item.value||can.user.trans(can, item.name, meta._trans), item.onclick = item.onclick||function(event) {
run(event, item.name||item.value)
}, item._init = item._init||function(target) { item.action && can.onappend.figure(sub, item, target, function(_sub, value) { can.Update() })
if (item.type == html.BUTTON && can.base.isIn(item.name, mdb.CREATE, mdb.INSERT, mdb.PRUNES, cli.START, web.REFRESH)) {
can.onappend.icons(can, target, item.name)
} item.type == html.BUTTON && can.onappend.icons(can, target, can.Conf(["_icons", item.name]), item.name)
if (item.type == html.BUTTON && can.page.isIconInput(can, item.name)) { can.onappend.icons(can, target, item.name) }
}), item), "", action)
}), meta
},
@ -351,8 +347,10 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
item.style && can.onappend.style(can, item.style, target)
}}])[item.name]; return _input
},
icons: function(can, target, icon, cb) { if (!icon) { return } can.onappend.style(can, "icons", target.parentNode)
can.page.Append(can, target.parentNode, [{icon: icon, title: can.user.trans(can, icon), onclick: can.base.isFunc(cb)? cb: function(event) { can.Update(event, [ctx.ACTION, cb||icon]) }}])
icons: function(can, target, name, cb) {
var _icon = can.Conf("feature._icons."+name) || icon[name] || name
if (!_icon) { return } can.onappend.style(can, "icons", target.parentNode)
can.page.Append(can, target.parentNode, [{icon: _icon, title: can.user.trans(can, name), onclick: can.base.isFunc(cb)? cb: target.onclick||function(event) { can.Update(event, [ctx.ACTION, cb||name]) }}])
},
mores: function(can, target, value, limit) {
var list = can.page.Select(can, target, html.INPUT_BUTTON, function(target) {
@ -436,6 +434,15 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
})
}, title: can.user.trans(can, can.Option(key) == undefined? key: "click to detail", null, html.INPUT), _init: function(target) {
key == ctx.ACTION && can.onappend.mores(can, target, data, msg.IsDetail()? 10: html.TABLE_BUTTON)
var list = can.page.Select(can, target, html.INPUT, function(target) {
var _icon = can.Conf("feature._icons."+target.name)||icon[target.name]; if (_icon) { return target }
})
can.core.List(list, function(target) { can.onappend.style(can, "icons", target)
var _icon = can.Conf("feature._icons."+target.name)||icon[target.name]
can.page.insertBefore(can, [{icon: _icon, title: can.user.trans(can, target.name), onclick: target.onclick||function(event) {
can.Update(can.request(event, data), [ctx.ACTION, target.name])
}}], target.nextSibling, target.parentNode)
})
can.page.SelectOne(can, target, html.SPAN, function(span) { can.core.List(span.style, function(key) { target.style[key] = span.style[key] }) })
can.page.style(can, target, "cursor", can.base.isIn(key, mdb.KEY, mdb.TIME)? "default": can.Option(key) != undefined? "pointer": "text")
}}
@ -697,7 +704,7 @@ Volcanos(chat.ONMOTION, {_init: function(can, target) {
if (can.base.beginWith(item.innerText, "open http")) { return can.user.open(can.core.Split(item.innerText)[1]) }
if (item.innerText.indexOf(web.HTTP) == 0) { return can.user.open(item.innerText) }
if (item.innerText.indexOf("vim ") == 0) {
can.onappend._float(can, web.CODE_VIMER, can.misc.SplitPath(can, item.innerText.split(" ")[1]))
can.onappend._float(can, web.CODE_VIMER, can.misc.SplitPath(can, item.innerText.split(lex.SP)[1]))
} else {
meta.name == "shell" && can.onappend._float(can, web.CODE_XTERM, ["sh"])
}

View File

@ -103,6 +103,11 @@ table.content th.select { border:var(--notice-bg-color) solid 1px; }
table.content th.select[data-asc="1"] i.bi-sort-down-alt { display:none; }
table.content th.select[data-asc="0"] i.bi-sort-up { display:none; }
table.content td { padding:var(--table-padding); }
table.content td input.icons { display:none; }
table.content td i:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); cursor:pointer; }
table.content td i { padding:var(--input-padding); }
body:not(.mobile) fieldset.plugin:not(.float):not(.full):not(.cmd) table.content td input.icons { display:unset; }
body:not(.mobile) fieldset.plugin:not(.float):not(.full):not(.cmd) table.content td i { display:none; }
table.content.checkbox th:first-child { text-align:center; padding:var(--table-padding); position:sticky; left:2px; z-index:1; }
table.content.checkbox td:first-child { background-color:var(--th-bg-color); text-align:center; position:sticky; left:2px; }
table.content.detail td:first-child { width:var(--input-width); }
@ -295,7 +300,7 @@ body:not(.mobile) fieldset.plugin:not(.float):not(.full):not(.cmd)>form.option>d
body:not(.mobile) fieldset.plugin:not(.float):not(.full):not(.cmd)>form.option>div.button.icons>i { display:none; }
body:not(.mobile) fieldset.plugin:not(.float):not(.full):not(.cmd)>div.action>div.button.icons>input { display:unset; }
body:not(.mobile) fieldset.plugin:not(.float):not(.full):not(.cmd)>div.action>div.button.icons>span.icon { display:none; }
body:not(.mobile) fieldset.plugin:not(.float):not(.full):not(.cmd)>div.aciton>div.button.icons>i { display:none; }
body:not(.mobile) fieldset.plugin:not(.float):not(.full):not(.cmd)>div.action>div.button.icons>i { display:none; }
fieldset.panel>div.action>div.button.icons>span.icon { display:none; }
fieldset.plugin.cmd>form.option>div.icon.delete { display:none; }
fieldset.story>form.option>div.button.icons>input { display:none; }

View File

@ -298,6 +298,9 @@ Volcanos("page", {
},
tagClass: function(target) { return target.tagName.toLowerCase()+(target.className? nfs.PT+target.className.replaceAll(lex.SP, nfs.PT): "") },
isDisplay: function(target) { return target && target.style.display != html.NONE && target.className.indexOf(html.HIDE) == -1 },
isIconInput: function(can, name) {
return can.base.isIn(name, mdb.CREATE, mdb.INSERT, mdb.PRUNES, mdb.PRUNE, ice.HELP, cli.START, web.REFRESH) || icon[name] || can.Conf("feature._icons."+name)
},
editable: function(can, item, ok) { item.setAttribute("contenteditable", ok) },
draggable: function(can, item, ok) { item.setAttribute("draggable", ok) },
height: function() { return window.innerHeight },