From d87ec7d9c404efe1c8159af5d350b7df3d246542 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 15 Nov 2024 10:09:07 +0800 Subject: [PATCH] add some --- frame.js | 3 ++- index.css | 6 +++++- lib/base.js | 3 ++- lib/misc.js | 5 +++-- lib/page.js | 5 +++-- lib/user.js | 8 +++++--- plugin/table.js | 1 + proto.js | 2 +- 8 files changed, 22 insertions(+), 11 deletions(-) diff --git a/frame.js b/frame.js index 0b762a2f..1c21ccdd 100644 --- a/frame.js +++ b/frame.js @@ -488,7 +488,7 @@ Volcanos(chat.ONAPPEND, { can.core.CallFunc([event.target.previousSibling, "_clear"], {}) }}) if (item.name == html.FILTER) { item.icon = item.icon||icon.search } - item.icon = item.icon||can.Conf(["_icons", item.name])||icon[item.name] + item.icon = item.icon||can.Conf(["_trans.input.icons", item.name])||can.Conf(["_icons", item.name])||icon[item.name] } if (item.type == html.MULTIPLE) { input.data.type = html.BUTTON, input.value = can.user.trans(can, item.name) @@ -726,6 +726,7 @@ Volcanos(chat.ONAPPEND, { }) can.core.List(list, function(target) { can.onappend.style(can, html.ICONS, target); var _icon = (can.page.icons(can, target.name)||{}).icon; if (target.name == mdb.DELETE) { _icon = icon.trash } + target.value = can.user.trans(can, target.name) can.page.insertBefore(can, [{icon: _icon+(" "+(can.page.buttonStyle(can, target.name)||"")), title: can.user.trans(can, target.name), onclick: target.onclick||function(event) { can.onengine.signal(can, "onevent", can.request(event, {_type: html.BUTTON})) can.Update(request(event)._event, [ctx.ACTION, target.name]), can.onkeymap.prevent(event) diff --git a/index.css b/index.css index b7127e46..dab0d5b6 100644 --- a/index.css +++ b/index.css @@ -412,7 +412,11 @@ body div.input.float td span.must { color:red; padding:0 5px; } body div.input.float td:nth-child(2) { padding:var(--table-padding) 0; } body.width1 div.input.float table { width:100%; } body.width1 div.input.float tr:not(.hide) { display:flex; flex-direction:column; margin:var(--button-margin); } -body.width1 div.input.float td { padding:0 var(--button-padding); margin:var(--button-margin); } +body.width1 div.input.float td { + // padding:0 var(--button-padding); + padding:0; + margin:var(--button-margin); +} body.widht1 div.input.float td:nth-child(1) { color:gray; font-size:var(--status-font-size); padding-left:var(--button-padding); margin-bottom:0; } body.width1 div.input.float td:nth-child(2) { display:none; } body div.input.float tr.img td:last-child>span { display:none; } diff --git a/lib/base.js b/lib/base.js index b0654400..e5cb6a0c 100644 --- a/lib/base.js +++ b/lib/base.js @@ -170,8 +170,9 @@ Volcanos("base", { if (arg.length > 2) { for (var i = 1; i < arg.length; i++) { str = callee(str, arg[i]) } return str } if (str.indexOf(pre) == -1) { return str } return str.slice(pre.length) }, - trimSuffix: function(str, end) { while (str) { var index = str.lastIndexOf(end) + trimSuffix: function(str, end, once) { while (str) { var index = str.lastIndexOf(end) if (index == -1 || index+end.length != str.length) { break } str = str.slice(0, index) + if (once) { break } } return str }, trim: function(arg) { if (this.isString(arg)) { return arg.trim() } if (this.isArray(arg)) { for (var i = arg.length-1; i >= 0; i--) { if (!arg[i]) { arg.pop() } else { break } } } return arg diff --git a/lib/misc.js b/lib/misc.js index 7c07a1ea..38c66e6c 100644 --- a/lib/misc.js +++ b/lib/misc.js @@ -116,8 +116,9 @@ Volcanos("misc", { }); return msg }, Echo: function(res) { msg.result = (msg.result||[]).concat(can.core.List(arguments)); return msg._hand = true, msg }, - Dump: function(can) { can = can||msg._can; if (can.user.isNodejs) { return } - can.onmotion.clear(can), can.onappend.table(can, msg), can.onappend.board(can, msg), can.onmotion.story.auto(can) + Dump: function(can, target) { can = can||msg._can; if (can.user.isNodejs) { return } + target = target||can._output + can.onmotion.clear(can, target), can.onappend.table(can, msg, null, target), can.onappend.board(can, msg, target), can.onmotion.story.auto(can) }, Show: function(can) { can = can||msg._can; if (can.user.isNodejs) { return } can.onmotion.clear(can), can.onappend.table(can, msg), can.onappend.board(can, msg), can.onmotion.story.auto(can) diff --git a/lib/page.js b/lib/page.js index f14d5dd7..a049c24d 100644 --- a/lib/page.js +++ b/lib/page.js @@ -495,7 +495,7 @@ Volcanos("page", { }, appendAction: function(can, value, target) { if (!value.action) { return } target.innerHTML = value.action can.page.Select(can, target, html.INPUT_BUTTON, function(target) { - var style = can.Conf("_style."+target.name)||can.page.buttonStyle(can, target.name); style && can.onappend.style(can, style, target) + var style = can.Conf(["_trans.input",can.ConfIndex().split(".").pop(), "style", target.name])||can.Conf("_style."+target.name)||can.page.buttonStyle(can, target.name); style && can.onappend.style(can, style, target) target.onclick = function(event) { if (can.page.ClassList.has(can, can._fields, "_process")) { return } can.onappend.style(can, "_process") can.onkeymap.prevent(event), can.Update(can.request(event, value, {_toast: can.user.trans(can, target.name)}), [ctx.ACTION, target.name]) @@ -509,7 +509,8 @@ Volcanos("page", { return action }, buttonStyle: function(can, name) { - return can.Conf("_style."+name)||can.core.Value(can.onaction, ["_trans", "style", name])||(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", "submit", "commit", "preview", "auto-preview", ice.APP)? html.NOTICE: + return can.Conf(["_trans.input", can.ConfIndex().split(".").pop(), "style", name])||can.Conf("_style."+name)|| + can.core.Value(can.onaction, ["_trans", "style", name])||(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", "submit", "commit", "preview", "auto-preview", ice.APP)? html.NOTICE: can.base.isIn(name, mdb.REMOVE, "rename", mdb.DELETE, mdb.PRUNES, mdb.PRUNE, nfs.TRASH, cli.RESTART, cli.STOP, cli.CLOSE, cli.REBOOT, web.CANCEL, code.UPGRADE, "reject", "del", "drop", "access", "kill", "prockill")? html.DANGER: "") }, exportValue: function(can, msg, target) { target = target||can._output diff --git a/lib/user.js b/lib/user.js index fc8312df..1288b821 100644 --- a/lib/user.js +++ b/lib/user.js @@ -85,9 +85,11 @@ Volcanos("user", { if (can.base.isFunc(text)) { text = text.name||"" } if (list && can.base.isString(list)) { return list } var key = can.core.Keys(zone, text) if (text == can.Conf("index") && can.Conf("help")) { return can.Conf("help") } - return can.core.Value(list, key) || can.core.Value(can._trans, key) || - can.Conf(["trans", key]) || - can.Conf(["feature._trans", key]) || can.Conf(["feature._trans", zone, (can.ConfIndex()||"").split(".").pop(), text]) || + return can.core.Value(list, key) || + can.Conf(["feature._trans", zone||"input", (can.ConfIndex()||"").split(".").pop(), text]) || + can.Conf(["feature._trans", zone, (can.ConfIndex()||"").split(".").pop(), text]) || + can.Conf(["feature._trans", key]) || can.Conf(["trans", key]) || + can.core.Value(can._trans, key) || can.core.Value(can.user._trans, key) || text }, _trans: {"_week_header": ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]}, time: function(can, time, fmt) { diff --git a/plugin/table.js b/plugin/table.js index 10c1e4e4..28144ae3 100644 --- a/plugin/table.js +++ b/plugin/table.js @@ -466,6 +466,7 @@ Volcanos(chat.ONIMPORT, { if (value.Option) { return can.onappend._action(can, value.Option(ice.MSG_ACTION), target) } can.page.appendAction(can, value, target) can.page.Select(can, target, html.INPUT_BUTTON, function(target) { + target.value = can.user.trans(can, target.name) if (filter.length > 0) { filter.indexOf(target.name) == -1 && can.page.Remove(can, target) } else { diff --git a/proto.js b/proto.js index ba6cbee6..9ead2c42 100644 --- a/proto.js +++ b/proto.js @@ -115,7 +115,7 @@ var Volcanos = shy({iceberg: "", volcano: "", frame: chat.FRAME_JS, _cache: {}, Mode: function(value) { return can.Conf(ice.MODE, value) }, ConfDefault: function(value) { can.core.Item(value, function(k, v) { can.Conf(k) || can.Conf(k, v) }) }, ConfSpace: function(space) { if (space) { can.Conf(web.SPACE, space) } return can.Conf("_space")||can.Conf(web.SPACE)||can.Conf("pod")||"" }, - ConfIndex: function(index) { if (index) { can.Conf(ctx.INDEX, index) } return can.Conf("_command")||can.Conf(ctx.INDEX)||can.Conf("_index") }, + ConfIndex: function(index) { if (index) { can.Conf(ctx.INDEX, index) } return can.Conf("_command")||can.Conf(ctx.INDEX)||can.Conf("_index")||"can" }, ConfIcons: function() { return can.Conf(mdb.ICONS) }, ConfHeight: function(value) { return can.Conf(html.HEIGHT, value) }, ConfWidth: function(value) { return can.Conf(html.WIDTH, value)||can._output.offsetWidth },