From 1710964e374301c2e00e978ce524d2ad0e5d1452 Mon Sep 17 00:00:00 2001 From: shy Date: Tue, 30 Apr 2024 02:34:58 +0800 Subject: [PATCH] add some --- index.css | 4 ++-- lib/misc.js | 6 +++++- plugin/local/code/inner.css | 2 +- plugin/table.js | 15 +++++++++++---- 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/index.css b/index.css index eee1d4df..847e69ca 100644 --- a/index.css +++ b/index.css @@ -191,7 +191,7 @@ div.output>div.code>div.form>input[type=button][name=confirm] { background-color body.en span[lang^=zh] { display:none; } body.zh span[lang^=en] { display:none; } /* project */ div.project div.action { width:100%; } -div.project div.list { margin-left:var(--button-margin); clear:both; } +div.project div.list { border-left:var(--disable-fg-color) dashed 1px; margin-left:var(--button-margin); clear:both; } div.project div.list fieldset { position:static; } div.project div.item.select { border-right:var(--box-notice3); @@ -344,7 +344,7 @@ body>div.input textarea { height:var(--textarea-height); width:var(--form-width) body>div.input select { width:var(--form-width) !important; } body>div.input input.select[type=button] { width:var(--form-width) !important; } body>div.input input:not([type=button]) { width:var(--form-width) !important; } -body>div.input input[type=text] { width:var(--form-width) !important; } +body>div.input input[type=text] { width:var(--form-width) !important; padding-left:24px; } body>div.input input[name=cancel] { border:var(--box-danger); } body>div.input input[name=submit] { border:var(--box-notice); } body>div.input input[name=submit]:hover { background-color:var(--notice-bg-color); color:var(--notice-fg-color); } diff --git a/lib/misc.js b/lib/misc.js index 8da59235..7a5bff75 100644 --- a/lib/misc.js +++ b/lib/misc.js @@ -279,7 +279,11 @@ Volcanos("misc", { }, SearchHash: function(can) { var hash = location.hash if (arguments.length > 1) { - hash = can.core.List(arguments, function(item) { return can.base.replaceAll(item, ":", "%3A") }).slice(1).join(nfs.DF) + hash = can.core.List(arguments, function(item) { + if (can.base.isArray(item)) { + return item.join(nfs.DF) + } + return can.base.replaceAll(item, ":", "%3A") }).slice(1).join(nfs.DF) if (can.isCmdMode() || can._name == "River" || can._name == "Action") { location.hash = hash } } return can.core.List(can.core.Split(can.base.trimPrefix(location.hash, "#"), nfs.DF)||[], function(item) { return decodeURIComponent(item) }) diff --git a/plugin/local/code/inner.css b/plugin/local/code/inner.css index c1412a05..cd70377c 100644 --- a/plugin/local/code/inner.css +++ b/plugin/local/code/inner.css @@ -80,7 +80,7 @@ fieldset.inner.cmd>div.output>div.layout>div.plug>legend:hover { box-shadow:var( fieldset.inner.cmd>div.output>div.layout>div.plug>legend>span.remove { padding:0 var(--input-padding); height:30px; } fieldset.inner.cmd>div.output>div.layout>div.plug>legend>span.remove:hover { background-color:var(--hover-bg-color); } fieldset.inner.cmd>div.output>div.layout>div.plug>legend:not(:hover)>span.remove { visibility:hidden; } -fieldset.inner>div.output>div.layout>div.layout>div.profile fieldset.xterm.story>form.option>div.item.hash input { width:120px; } +// fieldset.inner>div.output>div.layout>div.layout>div.profile fieldset.xterm.story>form.option>div.item.hash input { width:120px; } div.path span.item { padding:var(--input-padding); } div.carte.cmd.float { font-size:var(--code-font-size); } div.carte.cmd.float div.item { padding:var(--input-padding); } div.carte.path.float { font-size:var(--code-font-size); } diff --git a/plugin/table.js b/plugin/table.js index 41b82dee..93e06026 100644 --- a/plugin/table.js +++ b/plugin/table.js @@ -149,15 +149,21 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { }) }, itemlist: function(can, list, cb, cbs, target) { if (!list || list.length == 0) { return } - return target._list = can.page.insertBefore(can, [{view: html.LIST, list: can.core.List(list, function(item) { - var icon = item.icon||item.icons + var _select + target._list = can.page.insertBefore(can, [{view: html.LIST, list: can.core.List(list, function(item) { var icon = item.icon||item.icons return {view: html.ITEM, list: [ icon && (can.base.contains(icon, ice.HTTP, ".ico", ".png", ".jpg")? {img: can.misc.Resource(can, icon)}: {icon: icon}), {text: item.nick||item.name||item.zone} - ], onclick: function(event) { + ], _init: function(target) { + item._select && (_select = target) + }, onclick: function(event) { cb(event, item, event.currentTarget._list && can.onmotion.toggle(can, event.currentTarget._list)) - }, oncontextmenu: function(event) { if (can.base.isFunc(cbs)) { var menu = cbs(event, ui._target); if (menu) { can.user.carteRight(event, can, menu.meta, menu.list, menu) } } }} + }, oncontextmenu: function(event) { + if (can.base.isFunc(cbs)) { var menu = cbs(event, ui._target); if (menu) { can.user.carteRight(event, can, menu.meta, menu.list, menu) } } + }} }) }], target.nextSibling, target.parentNode) + _select && _select.click() + return target._list }, list: function(can, root, cb, target, cbs) { target = target||can._output can.core.List(root.list, function(item) { var ui = can.page.Append(can, target, [{view: [[html.ITEM, "open"]], list: [{text: item.meta.name}, item.list && {icon: icon.CHEVRON_DOWN}], onclick: function(event) { @@ -285,6 +291,7 @@ Volcanos(chat.ONEXPORT, { session: function(can, key, value) { return can.misc[can.user.isWebview? "localStorage": "sessionStorage"](can, [can.Conf(ctx.INDEX), key, location.pathname].join(":"), value == ""? "": JSON.stringify(value)) }, action_value: function(can, key, def) { var value = can.Action(key); return can.base.isIn(value, ice.AUTO, key, undefined)? def: value }, tool: function(can) { can.misc.sessionStorage(can, [can.ConfIndex(), "tool"], JSON.stringify(can.page.Select(can, can._status, html.LEGEND, function(target) { return target._meta }))) }, + hash: function(can, hash) { can.misc.SearchHash(can, hash) }, tabs: function(can) {}, }) Volcanos(chat.ONACTION, {