1
0
forked from x/volcanos
This commit is contained in:
root 2024-11-15 10:09:07 +08:00
parent d5e5e2747f
commit d87ec7d9c4
8 changed files with 22 additions and 11 deletions

View File

@ -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)

View File

@ -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; }

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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) {

View File

@ -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 {

View File

@ -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 },