1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 16:58:06 +08:00
This commit is contained in:
IT 老营长 @云轩领航-创始人 2024-08-02 18:41:48 +08:00
parent 118dbaa70c
commit a23ab72753
6 changed files with 24 additions and 13 deletions

View File

@ -318,7 +318,8 @@ Volcanos(chat.ONAPPEND, {
if (_can == (msg._can._fields? msg._can.sup: msg._can)) { if (can.core.CallFunc([_can, chat.ONIMPORT, ice.MSG_PROCESS], {can: _can, msg: msg})) { return } } if (_can == (msg._can._fields? msg._can.sup: msg._can)) { if (can.core.CallFunc([_can, chat.ONIMPORT, ice.MSG_PROCESS], {can: _can, msg: msg})) { return } }
if (cmds && cmds[0] == ctx.ACTION) { if (can.base.isIn(cmds[1], mdb.CREATE, mdb.INSERT, mdb.PRUNES, mdb.EXPORT, mdb.IMPORT, "exports", "imports", nfs.TRASH) || msg.Length() == 0 && !msg.Result()) { if (cmds && cmds[0] == ctx.ACTION) { if (can.base.isIn(cmds[1], mdb.CREATE, mdb.INSERT, mdb.PRUNES, mdb.EXPORT, mdb.IMPORT, "exports", "imports", nfs.TRASH) || msg.Length() == 0 && !msg.Result()) {
if (can.base.isIn(cmds[1], ctx.COMMAND)) { return } if (can.base.isIn(cmds[1], ctx.COMMAND)) { return }
return can._toast || can.user.toastSuccess(can, can.user.trans(can, cmds[1]), ice.SUCCESS), can.Update() // return can._toast || can.user.toastSuccess(can, can.user.trans(can, cmds[1]), ice.SUCCESS), can.Update()
return can.__toast || can.user.toastSuccess(can, can.user.trans(can, cmds[1]), ice.SUCCESS), can.Update()
} } } }
can.onappend._output(can, msg, meta.display||msg.Option(ice.MSG_DISPLAY)||meta.feature.display) can.onappend._output(can, msg, meta.display||msg.Option(ice.MSG_DISPLAY)||meta.feature.display)
}) })
@ -629,6 +630,7 @@ Volcanos(chat.ONAPPEND, {
if (key == mdb.ICON && value) { _value = can.base.contains(value, ".ico", ".png", ".jpg")? img(can.misc.Resource(can, data[key], data[ice.POD]||data[web.SPACE])): "<i class='"+value+"'></i>" } if (key == mdb.ICON && value) { _value = can.base.contains(value, ".ico", ".png", ".jpg")? img(can.misc.Resource(can, data[key], data[ice.POD]||data[web.SPACE])): "<i class='"+value+"'></i>" }
if (key == mdb.ICONS && value) { _value = img(can.misc.Resource(can, data[key])) } if (key == mdb.ICONS && value) { _value = img(can.misc.Resource(can, data[key])) }
if (key == aaa.AVATAR && value) { _value = img(can.misc.Resource(can, data[key])) } if (key == aaa.AVATAR && value) { _value = img(can.misc.Resource(can, data[key])) }
if (key == "user_avatar" && value) { _value = img(can.misc.Resource(can, data[key])) }
if (key == nfs.IMAGE && value) { _value = can.core.List(can.core.Split(data[key]), function(item) { return img(can.misc.ShareCache(can, item, data.space)) }).join("") } if (key == nfs.IMAGE && value) { _value = can.core.List(can.core.Split(data[key]), function(item) { return img(can.misc.ShareCache(can, item, data.space)) }).join("") }
// if (key == web.SPACE && value) { _value = can.page.Format(html.A, can.misc.MergePodCmd(can, {pod: value}), value) } // if (key == web.SPACE && value) { _value = can.page.Format(html.A, can.misc.MergePodCmd(can, {pod: value}), value) }
// if (key == mdb.NAME && value) { _value = can.user.trans(can, value, null, html.INPUT) } // if (key == mdb.NAME && value) { _value = can.user.trans(can, value, null, html.INPUT) }
@ -680,6 +682,7 @@ Volcanos(chat.ONAPPEND, {
}, onmouseover: function(event) { }, onmouseover: function(event) {
can.page.SelectChild(can, can._option, html.DIV_ITEM_TEXT, function(target) { can.page.ClassList.set(can, target, "will", can.page.ClassList.has(can, target, key)) }) can.page.SelectChild(can, can._option, html.DIV_ITEM_TEXT, function(target) { can.page.ClassList.set(can, target, "will", can.page.ClassList.has(can, target, key)) })
}, _init: function(target) { }, _init: function(target) {
if (msg.IsDetail() && key != "key") { can.onappend.style(can, key, target.parentNode) }
if (option.indexOf(key) > -1) { can.onappend.style(can, "k-"+value, target.parentNode) } if (option.indexOf(key) > -1) { can.onappend.style(can, "k-"+value, target.parentNode) }
if (key == mdb.TYPE) { can.onappend.style(can, value, target.parentNode) } if (key == mdb.TYPE) { can.onappend.style(can, value, target.parentNode) }
if (key == mdb.STATUS) { can.onappend.style(can, value, target.parentNode) } if (key == mdb.STATUS) { can.onappend.style(can, value, target.parentNode) }

View File

@ -417,7 +417,7 @@ body>div.input td span.icons { margin-left:-20px; visibility:hidden; }
body>div.input td label { font-family:var(--code-font-family); } body>div.input td label { font-family:var(--code-font-family); }
body>div.input td:hover span.icon { visibility:visible; } body>div.input td:hover span.icon { visibility:visible; }
body>div.input td:hover span.icons { visibility:visible; } body>div.input td:hover span.icons { visibility:visible; }
body>div.input textarea { height:var(--textarea-height); width:var(--form-width) !important; } body:not(.mobile)>div.input textarea { height:var(--textarea-height); width:var(--form-width) !important; }
body>div.input select { width:var(--form-width) !important; } 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.select[type=button] { width:var(--form-width) !important; }
body>div.input input:not([type=button]) { width:var(--form-width) !important; padding-left:24px; } body>div.input input:not([type=button]) { width:var(--form-width) !important; padding-left:24px; }
@ -505,12 +505,12 @@ input.select[type=button]:hover { border:var(--box-notice); }
input.select[type=button]:focus { border:var(--box-notice); } input.select[type=button]:focus { border:var(--box-notice); }
input.select[type=button] { border:var(--input-border); padding:0 var(--button-padding); } input.select[type=button] { border:var(--input-border); padding:0 var(--button-padding); }
input[type=button] { border:var(--input-border); border-radius:var(--button-radius); } input[type=button] { border:var(--input-border); border-radius:var(--button-radius); }
input[type=button]:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); } body:not(.mobile) input[type=button]:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
input[type=button].danger:hover { color:var(--danger-fg-color); } input[type=button].danger:hover { color:var(--danger-fg-color); }
input[type=button].notice:hover { background-color:var(--notice-bg-color); color:var(--notice-fg-color); } input[type=button].notice:hover { background-color:var(--notice-bg-color); color:var(--notice-fg-color); }
input[type=button].danger { color:var(--danger-bg-color) !important; } input[type=button].danger { color:var(--danger-bg-color) !important; }
input[type=button].notice { border:var(--box-notice); } input[type=button].notice { border:var(--box-notice); }
table.content tr:hover { background-color:var(--tr-hover-bg-color); } body:not(.mobile) table.content tr:hover { background-color:var(--tr-hover-bg-color); }
table.content tr.select { background-color:var(--tr-hover-bg-color); } table.content tr.select { background-color:var(--tr-hover-bg-color); }
table.content tr.danger { background-color:var(--danger-bg-color); color:var(--danger-fg-color); } table.content tr.danger { background-color:var(--danger-bg-color); color:var(--danger-fg-color); }
table.content tr.notice { background-color:var(--notice-bg-color); color:var(--notice-fg-color); } table.content tr.notice { background-color:var(--notice-bg-color); color:var(--notice-fg-color); }
@ -519,7 +519,7 @@ table.content tr.offline { color:var(--disable-fg-color); }
table.content tr.invalid { color:var(--disable-fg-color); } table.content tr.invalid { color:var(--disable-fg-color); }
table.content tr.expired { color:var(--disable-fg-color); } table.content tr.expired { color:var(--disable-fg-color); }
table.content th { background-color:var(--th-bg-color); color:var(--th-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); color:var(--hover-fg-color); } body:not(.mobile) table.content td:hover { background-color:var(--td-hover-bg-color); color:var(--hover-fg-color); }
table.content td.select { background-color:var(--td-hover-bg-color); color:var(--hover-fg-color); } table.content td.select { background-color:var(--td-hover-bg-color); color:var(--hover-fg-color); }
table.content td i:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); } table.content td i:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
table.content td.action { background-color:var(--th-bg-color); color:var(--th-fg-color); } table.content td.action { background-color:var(--th-bg-color); color:var(--th-fg-color); }

View File

@ -16,8 +16,9 @@ Volcanos("user", {
connectWifi: function(can, ssid, password, cb, cbs) {}, connectWifi: function(can, ssid, password, cb, cbs) {},
getClipboard: function(can, cb) {}, getClipboard: function(can, cb) {},
enableDebug: function(can) {}, enableDebug: function(can) {},
init: function(can, content) { init: function(can, content, icons) {
can.user.agent.cmd = can, can.user.agent._init_content = content can.user.agent.cmd = can, can.user.agent._init_content = content
can.user.agent._init_icons = icons
}, _init_content: [], }, _init_content: [],
}, info: {}, }, info: {},
isIPad: false, isIPad: false,
@ -65,6 +66,7 @@ Volcanos("user", {
can.user.info.userrole && name.push(can.user.info.userrole) can.user.info.userrole && name.push(can.user.info.userrole)
can.user.language(can) && name.push(can.core.Split(can.user.language(can), "-_.")[0]) can.user.language(can) && name.push(can.core.Split(can.user.language(can), "-_.")[0])
can.user.mod.isCmd && name.push(chat.CMD), can.user.mod.cmd && name.push(can.user.mod.cmd.replaceAll(".", " ")) can.user.mod.isCmd && name.push(chat.CMD), can.user.mod.cmd && name.push(can.user.mod.cmd.replaceAll(".", " "))
can.user.isWeiXin && name.push("weixin")
if (window.innerWidth <= 1080) { can.user.isIPad = true } if (window.innerWidth <= 1080) { can.user.isIPad = true }
can.user.isIPad && name.push("pad") && can.user.isLandscape() && name.push(html.LANDSCAPE) can.user.isIPad && name.push("pad") && can.user.isLandscape() && name.push(html.LANDSCAPE)
can.user.isMobile && name.push(html.MOBILE) && can.user.isLandscape() && name.push(html.LANDSCAPE) can.user.isMobile && name.push(html.MOBILE) && can.user.isLandscape() && name.push(html.LANDSCAPE)
@ -74,7 +76,11 @@ Volcanos("user", {
title: function(text) { if (window.webview) { return title(text) } return text && (document.title = text), document.title }, title: function(text) { if (window.webview) { return title(text) } return text && (document.title = text), document.title },
language: function(can) { return (can.misc.SearchOrConf(can, aaa.LANGUAGE)||can.user.info.language||"") }, language: function(can) { return (can.misc.SearchOrConf(can, aaa.LANGUAGE)||can.user.info.language||"") },
isEnglish: function(can) { return can.base.isIn(can.core.Split(can.user.language(can).toLowerCase()||"en", "_-.")[0], "en", "en-us") }, isEnglish: function(can) { return can.base.isIn(can.core.Split(can.user.language(can).toLowerCase()||"en", "_-.")[0], "en", "en-us") },
transValue: function(can, value, key) { return can.user.trans(can, value[key], null, "value."+key) }, transValue: function(can, value, key) {
if (value.Append) { return can.user.trans(can, value.Append(key), null, "value."+key) }
if (value.Option) { return can.user.trans(can, value.Option(key), null, "value."+key) }
return can.user.trans(can, value[key], null, "value."+key)
},
trans: function(can, text, list, zone) { if (can.base.isNumber(text)) { return text+"" } if (can.user.isEnglish(can)) { return text } trans: function(can, text, list, zone) { if (can.base.isNumber(text)) { return text+"" } if (can.user.isEnglish(can)) { return text }
if (can.base.isObject(text)) { return can.core.Item(text, function(k, v) { can.core.Value(can._trans, can.core.Keys(zone, k), v) }) } if (can.base.isObject(text)) { return can.core.Item(text, function(k, v) { can.core.Value(can._trans, can.core.Keys(zone, k), v) }) }
if (can.base.isFunc(text)) { text = text.name||"" } if (list && can.base.isString(list)) { return list } if (can.base.isFunc(text)) { text = text.name||"" } if (list && can.base.isString(list)) { return list }

View File

@ -57,8 +57,8 @@ Volcanos(chat.ONFIGURE, {key: {
meta._force && mod.onclick(event, can, meta, target, cbs) meta._force && mod.onclick(event, can, meta, target, cbs)
if (target._selectonly) { can.onmotion.delay(can, function() { target.blur() }) } if (target._selectonly) { can.onmotion.delay(can, function() { target.blur() }) }
}, },
onclick: function(event, can, meta, target, cbs) { onclick: function(event, can, meta, target, cbs) { can.onengine.signal(can, "onevent", can.request(event));
can.onengine.signal(can, "onevent", can.request(event)); if (target._selectonly) { can.onmotion.delay(can, function() { target.blur() }) }
(target.value == "" || meta._force || target._selectonly) && cbs(function(sub, cb) { if (sub.Status(mdb.TOTAL) > 0) { return } (target.value == "" || meta._force || target._selectonly) && cbs(function(sub, cb) { if (sub.Status(mdb.TOTAL) > 0) { return }
sub.sup = can._fields? can.sup: can 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) 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)

View File

@ -358,7 +358,7 @@ Volcanos(chat.ONEXPORT, {
}, },
title: function(can, title) { if (!can.isCmdMode()) { return } title: function(can, title) { if (!can.isCmdMode()) { return }
var list = []; function push(p) { p && list.indexOf(p) == -1 && list.push(p) } var list = []; function push(p) { p && list.indexOf(p) == -1 && list.push(p) }
if (!can.base.isIn(can.ConfIndex(), web.PORTAL, code.VIMER, wiki.FEEL)) { push(can.user.trans(can, can.ConfIndex().split(".").pop(), can.ConfHelp())) } if (arguments.length == 2 && !can.base.isIn(can.ConfIndex(), web.PORTAL, code.VIMER, wiki.FEEL)) { push(can.user.trans(can, can.ConfIndex().split(".").pop(), can.ConfHelp())) }
can.core.List(arguments, function(title, index) { index > 0 && push(title) }) can.core.List(arguments, function(title, index) { index > 0 && push(title) })
can.user.isMobile || push(can.user.info.titles||can.ConfSpace()||can.misc.Search(can, ice.POD)) can.user.isMobile || push(can.user.info.titles||can.ConfSpace()||can.misc.Search(can, ice.POD))
can.user.title(list.join(" ")) can.user.title(list.join(" "))

View File

@ -15,6 +15,7 @@ Volcanos(chat.ONIMPORT, {
} cb && cb(msg) } cb && cb(msg)
}, },
itemcard: function(can, value, list, cb) { itemcard: function(can, value, list, cb) {
cb = cb|| function(event) { can.Option("uid", value.uid), can.Update() }
return {view: [[html.ITEM_CARD, value._uid? "uid-"+value._uid: ""].concat(value._style||[])], list: [ return {view: [[html.ITEM_CARD, value._uid? "uid-"+value._uid: ""].concat(value._style||[])], list: [
{view: html.ACTION, _init: function(target) { if (!value.action) { return } target.innerHTML = value.action {view: html.ACTION, _init: function(target) { if (!value.action) { return } target.innerHTML = value.action
can.page.Select(can, target, html.INPUT_BUTTON, function(target) { can.page.Select(can, target, html.INPUT_BUTTON, function(target) {
@ -25,7 +26,7 @@ Volcanos(chat.ONIMPORT, {
}) })
}}, }},
{view: html.OUTPUT, list: [ {view: html.OUTPUT, list: [
{img: can.misc.ResourceIcons(can, value.icons)}, {view: html.INFO, list: list}, {img: can.misc.ResourceIcons(can, value.icons||value.avatar||value.user_avatar)}, {view: html.INFO, list: list},
], _init: function(target) { if (!value.action) { return } ], _init: function(target) { if (!value.action) { return }
can.onmotion.slideAction(can, target) can.onmotion.slideAction(can, target)
}}, }},
@ -359,11 +360,12 @@ Volcanos(chat.ONINPUTS, {
_nameicon: function(event, can, msg, target, name, title) { name = name||mdb.NAME _nameicon: function(event, can, msg, target, name, title) { name = name||mdb.NAME
can.page.Appends(can, can._output, msg.Table(function(value) { can.page.Appends(can, can._output, msg.Table(function(value) {
var _title = can.user.trans(can.sup, value[title]||value[name]||value[mdb.NAME], null, "value."+name) var _title = can.user.trans(can.sup, value[title]||value[name]||value[mdb.NAME], null, "value."+name)
return {view: html.ITEM, list: [{img: can.misc.Resource(can, value.icons||"usr/icons/icebergs.png")}, var icons = can.sup.Conf("_trans.value."+name+".icons."+value[name])||can.sup.Conf("_trans.value."+name+".icons."+value[title])||value.icons||"usr/icons/icebergs.png"
return {view: html.ITEM, list: [{img: can.misc.Resource(can, icons), },
{view: html.CONTAINER, list: [{view: [html.TITLE, "", _title]}, {view: html.CONTAINER, list: [{view: [html.TITLE, "", _title]},
can.onappend.label(can, value, kit.Dict("version", icon.version, "time", icon.compile, name, icon.data)), can.onappend.label(can, value, kit.Dict("version", icon.version, "time", icon.compile, name, icon.data)),
]}, ]},
], onclick: function(event) { can.showIcons(value[name]||value[mdb.NAME], value.icons||"usr/icons/icebergs.png", _title) }} ], onclick: function(event) { can.showIcons(value[name]||value[mdb.NAME], icons, _title) }}
})) }))
}, },
dream: function(event, can, msg, target, name) { can.sup.sub.oninputs._nameicon(event, can, msg, target, name) }, dream: function(event, can, msg, target, name) { can.sup.sub.oninputs._nameicon(event, can, msg, target, name) },