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-07-11 17:58:59 +08:00
parent 1fe6bf2adc
commit 1b3aeec89f
9 changed files with 29 additions and 15 deletions

View File

@ -29,8 +29,8 @@ table.content.full { width:100%; }
table.content thead { position:sticky; top:2px; }
table.content th { padding:2px 5px; }
table.content td { padding:2px 5px; }
table.content.action th:last-child { position:sticky; right:2px; max-width:180px; }
table.content.action td:last-child { position:sticky; right:2px; max-width:180px; }
table.content.action th:last-child { position:sticky; right:2px; max-width:190px; }
table.content.action td:last-child { position:sticky; right:2px; max-width:190px; }
h1 { text-align:center; margin:20px 0; } h2 { margin:20px 0; } h3 { margin:20px 0; }
hr, td.hr { border-bottom:var(--plugin-border-color) dashed 1px; margin:5px; }
ul { padding-left:20px; margin:20px 0; }
@ -228,7 +228,8 @@ input:not([type=button]) { border-radius:0; }
input:not([type=button]):hover { border:var(--input-border); }
input:not([type=button]):focus { border:var(--input-border); outline:none; }
textarea { background-color:var(--input-bg-color); color:var(--input-fg-color); }
table.content tr:hover { background-color:var(--tr-hover-bg-color); color:var(--hover-fg-color); }
table.content tr:hover { background-color:var(--tr-hover-bg-color); }
// table.content tr:hover { background-color:var(--tr-hover-bg-color); color:var(--hover-fg-color); }
table.content th { background-color:var(--th-bg-color); color:var(--th-fg-color); }
table.content td:hover { background-color:var(--td-hover-bg-color); }
table.content td.select { background-color:var(--td-hover-bg-color); }
@ -248,7 +249,7 @@ div.action div.tabs:hover { background-color:var(--hover-bg-color); color:var(--
div.action div.tabs.select { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
fieldset>div.output { background-color:var(--output-bg-color); }
fieldset>div.status { border-top:var(--status-border); }
fieldset:not(.panel) { background-color:var(--plugin-bg-color); color:var(--plugin-fg-color); border-radius:var(--plugin-radius); }
fieldset:not(.panel):not(.cmd) { background-color:var(--plugin-bg-color); color:var(--plugin-fg-color); border-radius:var(--plugin-radius); }
fieldset.panel:not(.main) { background-color:var(--panel-bg-color); color:var(--panel-fg-color); }
fieldset.panel:not(.main)>div.output { background-color:var(--panel-output-bg-color); color:var(--panel-output-fg-color); }
fieldset.input div.output { background-color:var(--plugin-bg-color); }

View File

@ -116,7 +116,12 @@ Volcanos("misc", {
MergePath: function(can, file, path) { return file.indexOf(nfs.PS) == 0 || file.indexOf(ice.HTTP) == 0? file: can.base.Path(path, file) },
MergeCache: function(can, hash) { return can.misc.MergeURL(can, {_path: can.base.Path(web.SHARE_CACHE, hash)}, true) },
MergePodCmd: function(can, obj) {
if (can.base.beginWith(obj.pod, "http://", "https://")) { return obj.pod }
if (can.base.beginWith(obj.pod, nfs.PS, web.HTTP)) {
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("#")
}
return obj.pod
}
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)

View File

@ -39,8 +39,15 @@ Volcanos("user", {
confirm: function(text) { return confirm(JSON.stringify(text)) },
prompt: function(tip, def, cb, silent) { (text = silent? def: prompt(tip, def||"")) != undefined && typeof cb == lang.FUNCTION && cb(text); return text },
reload: function(force) { (force || confirm("重新加载页面?")) && location.reload() },
jumps: function(url) { location.href = url },
opens: function(url) { window.openurl? window.openurl(url): window.open(url) },
jumps: function(url) {
location.href = url
},
opens: function(url) {
if (location.search.indexOf("debug=true") > 0 && url.indexOf("debug=true") == -1) {
var ls = url.split("#"); ls[0] += (ls[0].indexOf("?") > 0? "&": "?") + "debug=true", url = ls.join("#")
}
window.openurl? window.openurl(url): window.open(url)
},
open: function(url) {
if (window.open(url)) { return }
this.isMobile? location.href = url: null

View File

@ -80,8 +80,8 @@ Volcanos(chat.ONACTION, {_init: function(can, target) {
onresize: function(can) { can.onaction.layout(can), window.setsize && window.setsize(can.page.width(), can.page.height()) },
ontitle: function(can, msg) { can.onlayout._storage(can, "") },
portal: function(can) { can.user.opens("/wiki/portal/") },
desktop: function(can) { can.user.opens("/chat/cmd/web.chat.macos.desktop") },
portal: function(can) { can.user.opens(can.misc.MergePodCmd(can, {cmd: "web.wiki.portal"})) },
desktop: function(can) { can.user.opens(can.misc.MergePodCmd(can, {cmd: "web.chat.macos.desktop"})) },
layout: function(can, button, skip) { can.page.ClassList.del(can, can._target, can._layout||can.onlayout._storage(can)), can._header_tabs && can.onmotion.hidden(can, can._header_tabs)
button = (can.onlayout._storage(can, can._layout = button == ice.AUTO? "": button))||can.misc.SearchOrConf(can, html.LAYOUT), can.page.ClassList.add(can, can._target, button)
can.onengine.signal(can, chat.ONLAYOUT, can.request({}, {layout: button})), can._root.River && can._river_show === false && can.onmotion.hidden(can, can._root.River._target), skip || can.onlayout._init(can)

View File

@ -5,7 +5,7 @@ fieldset.Header>div.output div.state { float:right; }
fieldset.Header>div.output div.state.avatar { padding:0; }
fieldset.Header>div.output div.state.avatar>img { height:48px; }
fieldset.Header>div.output div.search.title { padding:8px 5px; margin-left:5px; position:relative; }
fieldset.Header>div.output div.search>i { position:absolute; left:10px; top:15px; }
fieldset.Header>div.output div.search>i { position:absolute; left:15px; top:15px; }
fieldset.Header>div.output div.search>input { padding-left:30px; margin-right:0; transition:all 1s; }
fieldset.Header>div.output div.search>input:focus { width:320px; transition:all 0.5s; }
fieldset.Header>div.output div.search>span.delete { margin-left:-20px; }
fieldset.Header>div.output div.search>span.delete { margin-left:-20px; }

View File

@ -1,3 +1,4 @@
fieldset.Search { padding:10px; position:fixed; left:230px; top:48px; }
fieldset.Search>div.output>div.profile { max-width:unset; }
fieldset.Search>div.output table.content { width:100%; }
fieldset.Search>div.output>div.content a { color:silver; }

View File

@ -23,8 +23,7 @@ Volcanos(chat.ONFIGURE, {key: {
onblur: function(event, can, sub, cb) { sub && can.onmotion.delay(can, sub.close, 300) },
onkeydown: function(event, can, meta, cb, target, sub, last) {
if (event.key == lang.ENTER) { return meta._enter && (!can.page.tagis(event.target, html.TEXTAREA) || event.ctrlKey) && meta._enter(event, target.value)? sub.close(): last(event) }
if (!sub) { return }
sub.hidden() || can.onkeymap.selectCtrlN(event, can, sub._output, "tr:not(.hidden)>td:first-child", function(td) { return meta.select && (sub.close(), meta.select(target.value = td.innerText)), cb(sub, td.innerText, target.value), td })
if (!sub) { return } sub.hidden() || can.onkeymap.selectCtrlN(event, can, sub._output, "tr:not(.hidden)>td:first-child", function(td) { return meta.select && (sub.close(), meta.select(target.value = td.innerText)), cb(sub, td.innerText, target.value), td })
|| can.onmotion.delayOnce(can, function() { can.onkeymap.selectInputs(event, sub, function() { sub._load(event, sub, cb, target, meta.name) }, target) }, target.value.length < 3? 500: 150)
},
}})

View File

@ -115,8 +115,8 @@ Volcanos(chat.ONACTION, {list: ["编译", "源码", "终端", "文档", "计划"
"文档": function(event, can) { can.onimport.tabview(can, "", web.WIKI_WORD, ctx.INDEX) },
"计划": function(event, can) { can.onimport.tabview(can, "", web.TEAM_PLAN, ctx.INDEX) },
"桌面": function(event, can) { can.onimport.tabview(can, "", "web.chat.macos.desktop", ctx.INDEX) },
"后台": function(event, can) { can.onimport.tabview(can, "", location.origin+"/chat/portal/"+(can.misc.Search(can, log.DEBUG) == ice.TRUE? "?debug=true": ""), web.SPACE) },
"官网": function(event, can) { can.onimport.tabview(can, "", location.origin+"/wiki/portal/"+(can.misc.Search(can, log.DEBUG) == ice.TRUE? "?debug=true": ""), web.SPACE) },
"后台": function(event, can) { can.onimport.tabview(can, "", location.origin+"/chat/portal/", web.SPACE) },
"官网": function(event, can) { can.onimport.tabview(can, "", location.origin+"/wiki/portal/", web.SPACE) },
insertLine: function(can, value, before) { var line = can.onaction.appendLine(can, value); before && can.ui.content.insertBefore(line, can.onaction._getLine(can, before)); return can.onaction.rerankLine(can), can.onexport.line(can, line) },
deleteLine: function(can, line) { line = can.onaction._getLine(can, line); var next = line.nextSibling||line.previousSibling; return can.page.Remove(can, line), can.onaction.rerankLine(can), next },
_selectLine: function(can) { can.current && can.page.Select(can, can.current.line, "td.text", function(td) { var target = can.ui.current; target.value = td.innerText

View File

@ -16,6 +16,7 @@ fieldset.word>div.output iframe { height:480px; width:100%; }
fieldset.word>div.output svg.story[data-index] text { cursor:pointer; }
fieldset.word>div.output input.story[type=button] { font-family:system-ui; font-weight:bold; padding:20px 40px; margin:10px; height:64px; }
fieldset.word>div.output fieldset.web.code.inner.output div.output td.line { border-right:gray solid 1px; }
fieldset.word>div.output fieldset.story { margin:20px 0; }
fieldset.word>div.navmenu { background-color:inherit; overflow:auto; min-width:120px; clear:both; float:left; }
fieldset.word>div.navmenu div.list { margin-left:20px; }