1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 08:48:06 +08:00
This commit is contained in:
root 2024-10-20 08:16:16 +08:00
parent fb9687dd55
commit b4dbf11528
6 changed files with 22 additions and 9 deletions

View File

@ -141,7 +141,8 @@ table.content.action td:last-child input.danger { border:none; color:var(--dange
table.content.action td:last-child input.danger:hover { background-color:var(--hover-bg-color); color:var(--danger-bg-color); } table.content.action td:last-child input.danger:hover { background-color:var(--hover-bg-color); color:var(--danger-bg-color); }
table.content.detail td:first-child { word-break:keep-all; white-space:pre; } 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 { text-align:center; }
table.content.detail td:first-child { background-color:var(--plugin-bg-color); position:sticky; left:0; } table.content.detail td:first-child { position:sticky; left:0; }
table.content.detail tr:not(:hover) td:first-child { background-color:var(--plugin-bg-color); }
table.content.detail td i { display:none; } table.content.detail td i { display:none; }
table.content.detail td { white-space:break-spaces; } table.content.detail td { white-space:break-spaces; }
table.content.detail tr.action { background-color:var(--plugin-bg-color); position:sticky; bottom:0; } table.content.detail tr.action { background-color:var(--plugin-bg-color); position:sticky; bottom:0; }
@ -206,6 +207,7 @@ div.item.card div.action { position:absolute; right:0; }
div.item.card div.title div.action { top:0; } div.item.card div.title div.action { top:0; }
body:not(.width1) div.item.card div.action { z-index:1; } body:not(.width1) div.item.card div.action { z-index:1; }
div.item.card div.action input[type=button] { background-color:transparent; border:none; color:var(--notice-bg-color); margin-left:5px; } div.item.card div.action input[type=button] { background-color:transparent; border:none; color:var(--notice-bg-color); margin-left:5px; }
body:not(.mobile) div.item.card div.action input[type=button]:hover { background-color:var(--hover-bg-color); }
div.item.card div.action input[type=button].danger { color:var(--danger-bg-color) } div.item.card div.action input[type=button].danger { color:var(--danger-bg-color) }
div.item.card div.action input[type=button]:last-child { margin-right:5px; } div.item.card div.action input[type=button]:last-child { margin-right:5px; }
div.item.card div.output { padding:10px 0; display:flex; transition:left .2s; } div.item.card div.output { padding:10px 0; display:flex; transition:left .2s; }
@ -469,7 +471,8 @@ body.mobile>div.input td { padding:0; }
body.mobile div.input.float table input { width:100% !important; } body.mobile div.input.float table input { width:100% !important; }
/* display */ /* display */
fieldset:not(.Action) { position:relative; } fieldset:not(.Action) { position:relative; }
fieldset>form.option:not(.hide), fieldset>div.action:not(.hide):not(.flex) { display:contents; } .hide, .hidden { display:none; } fieldset>form.option:not(.hide) { float:left; }
fieldset>div.action:not(.hide):not(.flex) { display:contents; } .hide, .hidden { display:none; }
body:not(.mobile) fieldset:not(.Action):not(.output):not(.cmd)>div.action:not(.hide):not(.flex) { display:flex; overflow:hidden; } body:not(.mobile) fieldset:not(.Action):not(.output):not(.cmd)>div.action:not(.hide):not(.flex) { display:flex; overflow:hidden; }
fieldset.panel>legend, fieldset.panel>div.status { display:none; } fieldset.panel>legend, fieldset.panel>div.status { display:none; }
fieldset.output>legend, fieldset.output>form.option, fieldset.output>div.action:not(.flex), fieldset.output>div.status, fieldset.output>div.item { display:none; } fieldset.output>legend, fieldset.output>form.option, fieldset.output>div.action:not(.flex), fieldset.output>div.status, fieldset.output>div.item { display:none; }
@ -547,7 +550,7 @@ span.item.select { background-color:var(--hover-bg-color); color:var(--hover-fg-
span.item:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); } span.item:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
span.icon:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); } span.icon:hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
body:not(.mobile):not(.pad) div.item:not(.text):hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); } body:not(.mobile):not(.pad) div.item:not(.text):hover { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
div.item.select:not(.button) { background-color:var(--hover-bg-color); color:var(--hover-fg-color); } div.item.select:not(.button):not(:only-child) { background-color:var(--hover-bg-color); color:var(--hover-fg-color); }
body:not(.mobile) div.item.button.danger input:hover[type=button] { background-color:var(--danger-bg-color); color:var(--danger-fg-color); } body:not(.mobile) div.item.button.danger input:hover[type=button] { background-color:var(--danger-bg-color); color:var(--danger-fg-color); }
body:not(.mobile) div.item.button.notice input:hover[type=button] { background-color:var(--notice-bg-color); color:var(--notice-fg-color); } body:not(.mobile) div.item.button.notice input:hover[type=button] { background-color:var(--notice-bg-color); color:var(--notice-fg-color); }
div.item.button.danger input { border:var(--box-danger); color:var(--danger-bg-color); } div.item.button.danger input { border:var(--box-danger); color:var(--danger-bg-color); }
@ -917,7 +920,7 @@ fieldset.iframe.float { border:0; }
fieldset.iframe.float { background-color:var(--panel-bg-color); color:var(--panel-fg-color); } fieldset.iframe.float { background-color:var(--panel-bg-color); color:var(--panel-fg-color); }
fieldset.iframe.float>legend { background-color:var(--panel-bg-color); color:var(--panel-fg-color); } fieldset.iframe.float>legend { background-color:var(--panel-bg-color); color:var(--panel-fg-color); }
fieldset.iframe.float.portal { background-color:var(--notice-bg-color); color:var(--notice-fg-color); } fieldset.iframe.float.portal { background-color:var(--notice-bg-color); color:var(--notice-fg-color); }
fieldset.iframe.float.portal>legend { background-color:var(--notice-bg-color); color:var(--notice-fg-color); } fieldset.iframe.float.portal>legend { background-color:var(--notice-bg-color); color:var(--notice-fg-color); margin-right:10px; }
fieldset.iframe.float.portal>div.action>div.item.full { display:none; } fieldset.iframe.float.portal>div.action>div.item.full { display:none; }
fieldset.desktop { border:0; } fieldset.desktop { border:0; }
fieldset.desktop>legend { background-color:transparent; color:silver; } fieldset.desktop>legend { background-color:transparent; color:silver; }

View File

@ -64,7 +64,7 @@ Volcanos("user", {
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") 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)
can.user.isWindows && name.push(html.WINDOWS), can.user.isWebview && name.push(html.WEBVIEW) can.user.isWindows && name.push(html.WINDOWS), can.user.isWebview && name.push(html.WEBVIEW)

View File

@ -1,6 +1,7 @@
Volcanos(chat.ONIMPORT, { Volcanos(chat.ONIMPORT, {
_init: function(can, msg) { can.db.current = msg.TableDetail() _init: function(can, msg) { can.db.current = msg.TableDetail()
can.Conf("_width") && can.sup.onimport.size(can.sup, can.Conf("_height"), can.Conf("_width"), false), can.page.style(can, can._output, "overflow-y", html.HIDDEN) // can.Conf("_width") && can.sup.onimport.size(can.sup, can.Conf("_height"), can.Conf("_width"), false)
can.page.style(can, can._output, "overflow-y", html.HIDDEN)
can.ui.target = can.page.Appends(can, can._output, [{type: html.IFRAME, src: can.db.current.link, height: can.ConfHeight(), width: can.ConfWidth()}])._target can.ui.target = can.page.Appends(can, can._output, [{type: html.IFRAME, src: can.db.current.link, height: can.ConfHeight(), width: can.ConfWidth()}])._target
can.sup.onexport.link = function() { return can.base.beginWith(can.db.current.link, "/")? location.origin+can.db.current.link: can.db.current.link } can.sup.onexport.link = function() { return can.base.beginWith(can.db.current.link, "/")? location.origin+can.db.current.link: can.db.current.link }
}, },

View File

@ -273,8 +273,11 @@ Volcanos(chat.ONSYNTAX, {
"not": code.DATATYPE, "first-child": code.DATATYPE, "last-child": code.DATATYPE, "nth-child": code.DATATYPE, "not": code.DATATYPE, "first-child": code.DATATYPE, "last-child": code.DATATYPE, "nth-child": code.DATATYPE,
"placeholder": code.DATATYPE, "hover": code.DATATYPE, "focus": code.DATATYPE, "placeholder": code.DATATYPE, "hover": code.DATATYPE, "focus": code.DATATYPE,
"$option": code.KEYWORD,
"$action": code.KEYWORD, "$action": code.KEYWORD,
"$output": code.KEYWORD, "$output": code.KEYWORD,
"$project": code.KEYWORD,
"$content": code.KEYWORD,
"output": code.KEYWORD, "output": code.KEYWORD,
"background-color": code.FUNCTION, "color": code.FUNCTION, "background-color": code.FUNCTION, "color": code.FUNCTION,

View File

@ -39,7 +39,7 @@ Volcanos(chat.ONIMPORT, {
} }
var option = can.base.Obj(msg.Option("field.option")) var option = can.base.Obj(msg.Option("field.option"))
msg.Table(function(item) { tabs && can.onmotion.cache(can, function() { return tabHash }) msg.Table(function(item) { tabs && can.onmotion.cache(can, function() { return tabHash })
var sup = item.space? can._root.Action: can; height = item._height||height, width = item._width||width var sup = item.space? can._root.Action: can; height = can.base.Max(item._height||height, can.ConfHeight()), width = can.base.Max(item._width||width, can.ConfWidth())
can.onappend._plugin(sup, item, {index: item.index, args: can.base.Obj(item.args||item.arg, []), height: height, width: width, icons: item._icon}, function(sub) { can._plugins = (can._plugins||[]).concat([sub]) can.onappend._plugin(sup, item, {index: item.index, args: can.base.Obj(item.args||item.arg, []), height: height, width: width, icons: item._icon}, function(sub) { can._plugins = (can._plugins||[]).concat([sub])
sub.run = function(event, cmds, cb) { var index = msg.Option(ice.MSG_INDEX)||item.index; sup.run(can.request(event, {pod: item.space}, option), (msg[ice.FIELD_PREFIX]? msg[ice.FIELD_PREFIX]: index? [ctx.RUN, index]: []).concat(cmds), cb, true) } sub.run = function(event, cmds, cb) { var index = msg.Option(ice.MSG_INDEX)||item.index; sup.run(can.request(event, {pod: item.space}, option), (msg[ice.FIELD_PREFIX]? msg[ice.FIELD_PREFIX]: index? [ctx.RUN, index]: []).concat(cmds), cb, true) }
can.page.ClassList.has(can, sub._target, html.FLOAT)? can.onmotion.float(sub): sub.onimport.size(sub, height, width, !can.user.isMobile), cb && cb(sub) can.page.ClassList.has(can, sub._target, html.FLOAT)? can.onmotion.float(sub): sub.onimport.size(sub, height, width, !can.user.isMobile), cb && cb(sub)

View File

@ -126,9 +126,14 @@ Volcanos(chat.ONIMPORT, {
can.user.carteItem(event, can, item) can.user.carteItem(event, can, item)
}, },
_item: function(can, item, cb, cbs) { _item: function(can, item, cb, cbs) {
item._hash = item._hash||item.hash||item.zone||item.path||item.name item._hash = item._hash||item.sess||item.hash||item.zone||item.path||item.name
item._title = item._title||item.name||item.path||item.zone||item.hash item._title = item._title||item.name||item.path||item.zone||item.hash
item._select == undefined && can.db.hash[0] && (item._select = can.db.hash[0] == item._hash) item._select == undefined && can.db.hash[0] && (item._select = can.db.hash[0] == item._hash)
if (typeof item._hash == code.OBJECT) { item._select = true
for (var i = 0; i < item._hash.length; i++) {
if (item._hash[i] != can.db.hash[i]) { item._select = false; break }
}
}
return {view: [[html.ITEM, item.type, item.role, item.status]], title: item.title||item.nick, list: [ return {view: [[html.ITEM, item.type, item.role, item.status]], title: item.title||item.nick, list: [
can.onimport._icons(can, item), can.onimport._icons(can, item),
].concat(can.onimport._nick(can, item), item._label||[], [ ].concat(can.onimport._nick(can, item), item._label||[], [
@ -309,7 +314,8 @@ Volcanos(chat.ONIMPORT, {
myPlugin: function(can, value, cb) { myPlugin: function(can, value, cb) {
var key = [value.space||can.ConfSpace(), value.index||can.ConfIndex()].concat(value.args||"").join(",") var key = [value.space||can.ConfSpace(), value.index||can.ConfIndex()].concat(value.args||"").join(",")
var sup = can._stacks_root; sup._stacks = sup._stacks||{}; var sub = (sup._stacks[key]||[])[0]; if (sub) { return sub._select() } var sup = can._stacks_root; sup._stacks = sup._stacks||{}; var sub = (sup._stacks[key]||[])[0]; if (sub) { return sub._select() }
var _output = sup._target.parentNode; value.style = html.OUTPUT var _output = sup._target.parentNode; value.height = sup.ConfHeight(), value.width = sup.ConfWidth()
value.style = html.OUTPUT
sup.onappend.plugin(can._root.Action, value, function(sub) { can.onimport.myField(can, sub) sup.onappend.plugin(can._root.Action, value, function(sub) { can.onimport.myField(can, sub)
sub.misc.localStorage(sub, [sub.ConfSpace(), sub.ConfIndex(), mdb.HASH].join(","), "") sub.misc.localStorage(sub, [sub.ConfSpace(), sub.ConfIndex(), mdb.HASH].join(","), "")
sub.onexport.output = function(_sub, msg) { _sub._stacks_current = sup._stacks[key] = [sub], _sub._stacks_root = sup, sub._select() } sub.onexport.output = function(_sub, msg) { _sub._stacks_current = sup._stacks[key] = [sub], _sub._stacks_root = sup, sub._select() }