From 1b3aeec89feac0e59367e69f11dc645101e30a03 Mon Sep 17 00:00:00 2001 From: shylinux Date: Tue, 11 Jul 2023 17:58:59 +0800 Subject: [PATCH] opt some --- index.css | 9 +++++---- lib/misc.js | 7 ++++++- lib/user.js | 11 +++++++++-- panel/action.js | 4 ++-- panel/header.css | 4 ++-- panel/search.css | 1 + plugin/input/key.js | 3 +-- plugin/local/code/vimer.js | 4 ++-- plugin/local/wiki/word.css | 1 + 9 files changed, 29 insertions(+), 15 deletions(-) diff --git a/index.css b/index.css index 45c2e2ac..9b3ae913 100644 --- a/index.css +++ b/index.css @@ -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); } diff --git a/lib/misc.js b/lib/misc.js index 65400447..fa4b7c76 100644 --- a/lib/misc.js +++ b/lib/misc.js @@ -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) diff --git a/lib/user.js b/lib/user.js index 23f01e28..4efa9002 100644 --- a/lib/user.js +++ b/lib/user.js @@ -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 diff --git a/panel/action.js b/panel/action.js index b9d6d639..85940ca7 100644 --- a/panel/action.js +++ b/panel/action.js @@ -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) diff --git a/panel/header.css b/panel/header.css index 0eb028a4..dce9615e 100644 --- a/panel/header.css +++ b/panel/header.css @@ -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; } \ No newline at end of file diff --git a/panel/search.css b/panel/search.css index 71a06984..c505e57c 100644 --- a/panel/search.css +++ b/panel/search.css @@ -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; } diff --git a/plugin/input/key.js b/plugin/input/key.js index a34c7e86..4a61a437 100644 --- a/plugin/input/key.js +++ b/plugin/input/key.js @@ -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) }, }}) diff --git a/plugin/local/code/vimer.js b/plugin/local/code/vimer.js index 498d6a38..55b8e0cb 100644 --- a/plugin/local/code/vimer.js +++ b/plugin/local/code/vimer.js @@ -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 diff --git a/plugin/local/wiki/word.css b/plugin/local/wiki/word.css index 8dbdbcb8..14f09d7f 100644 --- a/plugin/local/wiki/word.css +++ b/plugin/local/wiki/word.css @@ -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; }