From fa52a9cbb8ca59481f17927dcb542ae4398f57b6 Mon Sep 17 00:00:00 2001 From: shy Date: Thu, 25 Apr 2024 12:38:12 +0800 Subject: [PATCH] add some --- const.js | 1 + frame.js | 5 ++++- index.css | 12 +++++++----- lib/page.js | 2 +- plugin/input/key.js | 2 +- plugin/story/studiolayout.js | 12 +++++++++--- 6 files changed, 23 insertions(+), 11 deletions(-) diff --git a/const.js b/const.js index c0b69357..7e1c6b58 100644 --- a/const.js +++ b/const.js @@ -445,6 +445,7 @@ var icon = { "begin_time": "bi bi-clock-history", "end_time": "bi bi-clock-history", // scale: "bi bi-arrows-fullscreen", + pie: "bi bi-pie-chart", tags: "bi bi-tags", version: "bi bi-tags", compile: "bi bi-tools", diff --git a/frame.js b/frame.js index dbe4a368..71e0cb75 100644 --- a/frame.js +++ b/frame.js @@ -324,7 +324,9 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) { } can.page.ClassList.del(can, sub._fields, html.FORM), delete(can._status._cache), delete(can._status._cache_key) sub._output.className = html.OUTPUT, can.onappend.style(can, sub._args.style, can._output) - can.isCmdMode() && can.onappend.style(can, html.OUTPUT), sub.isCmdMode() && sub.onexport.title(sub, sub.ConfIndex()) + // can.isCmdMode() && can.onappend.style(can, html.OUTPUT) + sub.isCmdMode() && sub.onexport.title(sub, sub.ConfIndex()) + can.onmotion.toggle(can, can._action, true) can.onexport._output(sub, msg), sub.Mode() != ice.MSG_RESULT && can.onmotion.clear(can, output) can.core.CallFunc([sub, chat.ONIMPORT, chat._INIT], {can: sub, msg: msg, cb: function(msg) { if (action !== false) { can.onkeymap._build(sub) @@ -392,6 +394,7 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) { field: function(can, type, item, target) { type = type||html.STORY, item = item||{} var name = can.core.Split(item.nick||item.index||"", " .").pop()||""; can.base.isIn(name, + "cluster", tcp.SERVER, tcp.CLIENT, web.STUDIO, mdb.SEARCH, web.SERVICE, can.core.Split(can.ConfIndex(), nfs.PT).pop(), "launchTemplate", ) && (name = (item.index||"").split(nfs.PT).slice(-2).join(nfs.PT)) type == html.PLUG || (type == html.STORY && item.style != html.FLOAT) || can.base.isIn(can.ConfIndex(), diff --git a/index.css b/index.css index 092a8a9c..eea65b3e 100644 --- a/index.css +++ b/index.css @@ -114,7 +114,8 @@ table.content th.select[data-asc="0"] i.bi-sort-up { display:none; } table.content th.select[data-asc="1"] i.bi-sort-down-alt { display:none; } table.content td.option { cursor:pointer; } table.content td { padding:var(--table-padding); } -table.content td i { padding:var(--input-padding); } +table.content td i { padding:var(--input-padding); color:var(--notice-bg-color); } +table.content td i.bi-trash { color:var(--danger-bg-color); } table.content.detail td:first-child { word-break:keep-all; white-space:pre; } table.content.detail td:first-child { text-align:center; } table.content.detail td:first-child { background-color:var(--plugin-bg-color); position:sticky; left:0; } @@ -132,7 +133,9 @@ body.mobile table.content.checkbox th:first-child { padding:var(--table-padding) body.mobile table.content.checkbox td:first-child { padding:var(--table-padding) var(--input-padding); } body.mobile table.content.action th:last-child { padding:var(--table-padding) var(--input-padding); } body.mobile table.content.action td:last-child { padding:var(--table-padding) var(--input-padding); } -table.content input:not(:last-child) { margin-right:var(--button-margin); } +table.content input { border:none; background-color:var(--th-bg-color); color:var(--notice-bg-color); padding:var(--input-padding); } +table.content input:hover { color:var(--notice-bg-color); } +table.content input:not(:last-child) { margin-right:var(--input-margin); } body:not(.mobile) fieldset.Action:not(.tabview):not(.horizon):not(.grid) fieldset.plugin:not(.float):not(.full):not(.cmd)>div.output>table.content td i { display:none; } body:not(.mobile) fieldset.Action:not(.tabview):not(.horizon):not(.grid) fieldset.plugin:not(.float):not(.full):not(.cmd)>div.output>table.content td input.icons { display:unset; } h1 { text-align:center; margin:var(--title-margin) 0; } h2 { margin:var(--title-margin) 0; } h3 { margin:var(--title-margin) 0; } @@ -524,7 +527,6 @@ table.content th { box-shadow:var(--th-box-shadow); } table.content th.select { border:var(--box-notice); } table.content.action td:last-child { box-shadow:var(--th-box-shadow); } table.content.detail tr.action td { box-shadow:var(--th-box-shadow); } -table.content input { border:var(--box-border); border-radius:var(--button-radius); background-color:var(--th-bg-color); } div.project:not(.toggle) { border-right:var(--box-border); overflow-x:hidden; } div.profile:not(.toggle) { border-left:var(--box-border); } div.display:not(.toggle) { border-top:var(--box-border); } @@ -677,8 +679,8 @@ fieldset:not(.float)>form.option>div.text>span.value { display:none; } fieldset.float:not(.plug)>form.option>div.text:not(.filter)>input { display:none; } fieldset.float:not(.plug)>form.option>div.text.filter>span.value { display:none; } fieldset.float:not(.plug)>form.option>div.text>span.icon { display:none; } -body.width6 fieldset.float:not(.plug)>form.option>div.item:last-child { margin-right:var(--action-height); } -body.width6 fieldset.float:not(.plug)>div.action>div.item:last-child { margin-right:var(--action-height); } +/* body.width6 fieldset.float:not(.plug)>form.option>div.item:last-child { margin-right:var(--action-height); } */ +/* body.width6 fieldset.float:not(.plug)>div.action>div.item:last-child { margin-right:var(--action-height); } */ fieldset.float>div.action>div.item.button._space.icons { margin-left:0; } /* svg */ svg text { font-size:var(--svg-font-size); font-family:var(--svg-font-family); stroke:var(--body-fg-color); fill:var(--body-fg-color); cursor:pointer; } diff --git a/lib/page.js b/lib/page.js index c724ff42..3d14d4eb 100644 --- a/lib/page.js +++ b/lib/page.js @@ -421,7 +421,7 @@ Volcanos("page", { }, buttonStyle: function(can, name) { return can.base.isIn(name, mdb.CREATE, mdb.INSERT, mdb.IMPORT, nfs.CLONE, cli.START, ctx.RUN, web.UPLOAD, web.CONFIRM, aaa.LOGIN, code.AUTOGEN, "sso", "add", "pull", "push", "commit", "preview", "auto-preview", ice.APP)? html.NOTICE: - can.base.isIn(name, mdb.REMOVE, mdb.DELETE, mdb.PRUNES, mdb.PRUNE, nfs.TRASH, cli.RESTART, cli.STOP, cli.CLOSE, cli.REBOOT, web.CANCEL, code.UPGRADE, "drop", "access", "prockill")? html.DANGER: "" + can.base.isIn(name, mdb.REMOVE, mdb.DELETE, mdb.PRUNES, mdb.PRUNE, nfs.TRASH, cli.RESTART, cli.STOP, cli.CLOSE, cli.REBOOT, web.CANCEL, code.UPGRADE, "del", "drop", "access", "prockill")? html.DANGER: "" }, exportValue: function(can, msg, target) { target = target||can._output msg.OptionDefault(ice.MSG_THEME, can.getHeaderTheme()) diff --git a/plugin/input/key.js b/plugin/input/key.js index b2c4c838..02408d3a 100644 --- a/plugin/input/key.js +++ b/plugin/input/key.js @@ -39,7 +39,7 @@ Volcanos(chat.ONFIGURE, {key: { sub.sup = can._fields? can.sup: can meta.msg && meta.msg.Length() > 0? sub._show(sub, meta.msg, cb, target, meta.name): sub._load(event, sub, cb, target, meta.name, target.value) }) }, - // onblur: function(event, can, sub, cb) { sub && can.onmotion.delay(can, sub.close, 300) }, + onblur: function(event, can, sub, cb) { sub && can.onmotion.delay(can, sub.close, 300) }, onkeyup: function(event, can, meta, cb, target, sub, last) { if (event.key == code.TAB) { return } if (event.key == code.ENTER) { return meta._enter && (!can.page.tagis(event.target, html.TEXTAREA) || event.ctrlKey) && meta._enter(event, target.value)? sub && sub.close(): last(event) } if (!sub) { return } can.onmotion.toggle(can, sub._target, true) diff --git a/plugin/story/studiolayout.js b/plugin/story/studiolayout.js index 3f4f0017..63c5fc02 100644 --- a/plugin/story/studiolayout.js +++ b/plugin/story/studiolayout.js @@ -1,15 +1,16 @@ Volcanos(chat.ONIMPORT, { _init: function(can, msg) { can.onimport.project(can, msg, aaa.SESS, function(event, sess, value) { return { - content: {index: "web.code.redis.keys", args: sess}, profile: {index: "web.code.redis.configs", args: sess, style: html.OUTPUT}, display: {index: "web.code.redis.shells", args: sess, style: html.OUTPUT}, + content: {index: "web.code.redis.keys", args: sess}, } }) }, _nick: function(can, value) { return value.name }, project: function(can, msg, key, cb) { can.ui = can.onappend.layout(can), can.onappend.style(can, "studiolayout", can._fields) + var last = can.db.hash[0]||can.misc.localStorage(can, can.core.Keys(can.ConfSpace()||can.misc.Search(can, ice.POD), can.ConfIndex(), html.PROJECT)) var _select; msg.Table(function(value) { var hash = value[key]; value.nick = can.onimport._nick(can, value) - var target = can.onimport.item(can, value, function(event, value) { can.misc.SearchHash(can, hash) + var target = can.onimport.item(can, value, function(event, value) { can.onexport.hash(can, hash) if (can.onmotion.cache(can, function(save, load) { save({ _content: can.ui._content_plugin, _profile: can.ui._profile_plugin, _display: can.ui._display_plugin, @@ -32,7 +33,7 @@ Volcanos(chat.ONIMPORT, { can.onimport.layout(can), sub.onexport.output = function() { can.onimport.layout(can) } }, can.ui[key]) }) - }); _select = _select||target, can.db.hash[0] == value.sess && (_select = target) + }); _select = _select||target, value.sess == last && (_select = target) }), _select && _select.click() }, layout: function(can) { can.ui.layout(can.ConfHeight(), can.ConfWidth(), 0, function(height, width) { @@ -43,3 +44,8 @@ Volcanos(chat.ONIMPORT, { can.ui._display_plugin && can.ui._display_plugin.onimport.size(can.ui._display_plugin, height-margin-2, width*2-margin, false) }) }, }, [""]) +Volcanos(chat.ONEXPORT, { + hash: function(can, hash) { can.misc.SearchHash(can, hash) + can.misc.localStorage(can, can.core.Keys(can.ConfSpace()||can.misc.Search(can, ice.POD), can.ConfIndex(), html.PROJECT), hash) + }, +})