mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 08:48:06 +08:00
add some
This commit is contained in:
parent
78db3a2b2f
commit
c69eeac9f7
18
frame.js
18
frame.js
@ -74,14 +74,24 @@ Volcanos(chat.ONENGINE, {_init: function(can, meta, list, cb, target) {
|
||||
Volcanos(chat.ONDAEMON, {_init: function(can, name, type, cbs) { if (can.user.isLocalFile) { return }
|
||||
return can.misc.WSS(can, {type: type||web.PORTAL, name: name||can.misc.Search(can, cli.DAEMON)||""}, function(event, msg, cmd, arg, cb) {
|
||||
if (cbs && can.core.CallFunc(cbs, {event: event, msg: msg, cmd: cmd, arg: arg, cb: cb})) { return }
|
||||
var sub = can.ondaemon._list[can.core.Keys(msg[ice.MSG_TARGET])]||can; can.base.isFunc(sub.ondaemon[cmd])?
|
||||
can.core.CallFunc(sub.ondaemon[cmd], {can: can, msg: msg, sub: sub, cmd: cmd, arg: arg, cb: cb}):
|
||||
can.onengine._search({}, can, msg, can, [chat._SEARCH, cmd].concat(arg), cb)
|
||||
var sub = can.ondaemon._list[can.core.Keys(msg[ice.MSG_TARGET])]||can;
|
||||
sub.sub && can.base.isFunc(sub.sub.ondaemon[cmd])? can.core.CallFunc(sub.sub.ondaemon[cmd], {can: can, msg: msg, sub: sub, cmd: cmd, arg: arg, cb: cb}):
|
||||
can.base.isFunc(sub.ondaemon[cmd])? can.core.CallFunc(sub.ondaemon[cmd], {can: can, msg: msg, sub: sub, cmd: cmd, arg: arg, cb: cb}):
|
||||
can.onengine._search({}, can, msg, can, [chat._SEARCH, cmd].concat(arg), cb)
|
||||
})
|
||||
}, _list: [""], pwd: function(can, arg) { can.misc.sessionStorage(can, "can.daemon", can._wss_name = can.ondaemon._list[0] = arg[0]) },
|
||||
close: function(can, msg, sub) { can.user.close() }, exit: function(can, msg, sub) { can.user.close() },
|
||||
toast: function(can, sub, arg, cb) { can.core.CallFunc(can.user.toast, [sub].concat(arg)) },
|
||||
refresh: function(can, sub) { can.base.isFunc(sub.Update) && sub.Update() },
|
||||
online: function(can, sub) { debugger },
|
||||
refresh: function(can, msg, sub, arg) {
|
||||
if (arg[0] == "confirm") {
|
||||
can.user.toastConfirm(can, arg[1]||"reload?", sub.ConfIndex(), function(event, button) {
|
||||
can.base.isFunc(sub.Update) && sub.Update()
|
||||
})
|
||||
} else {
|
||||
can.base.isFunc(sub.Update) && sub.Update()
|
||||
}
|
||||
},
|
||||
grant: function(can, msg, sub, arg) {
|
||||
var toast = can.user.toast(can, {duration: arg[1]||10000, content: "grant "+arg[0], action: shy({
|
||||
confirm: function(event) { toast.close(), can.run(can.request(event, {name: arg[0]}), [ctx.ACTION, ctx.RUN, web.SPACE, aaa.LOGIN]) },
|
||||
|
21
index.css
21
index.css
@ -134,7 +134,7 @@ kbd { padding:0 var(--input-padding); }
|
||||
img.qrcode { width:var(--qrcode-width); }
|
||||
/* output style */
|
||||
div.title>div.status { line-height:20px; display:flex; }
|
||||
div.title>div.status>div.item { font-size:var(--status-font-size); font-weight:normal; float:left; padding:0 var(--input-padding); }
|
||||
div.title>div.status>div.item { font-size:var(--status-font-size); font-weight:normal; white-space:pre; padding:0 var(--input-padding); display:flex; float:left; }
|
||||
div.title>div.status>div.item.restart { background-color:var(--notice-bg-color); color:var(--notice-fg-color) !important; opacity:0.4; }
|
||||
div.title>div.status>div.item.access { background-color:var(--danger-bg-color); color:var(--danger-fg-color) !important; opacity:0.4; }
|
||||
div.title>div.status>div.item:not(:hover) { color:var(--disable-fg-color); }
|
||||
@ -146,7 +146,7 @@ div.output.card>div.item:hover { background-color:var(--plugin-bg-color); color:
|
||||
div.output.card>div.item.stop { color:var(--disable-fg-color); }
|
||||
div.output.card>div.item>div.title { font-size:var(--legend-font-size); font-weight:bold; padding-bottom:var(--input-padding); display:flex; align-items:center; overflow:hidden; }
|
||||
div.output.card>div.item>div.title>div.title>span { padding:var(--input-padding); }
|
||||
div.output.card>div.item>div.title>img { height:var(--header-height); width:var(--header-height); float:left; }
|
||||
div.output.card>div.item>div.title>img { height:var(--header-height); width:var(--header-height); margin:0; float:left; }
|
||||
div.output.card>div.item>div.title>img.jpg { padding:var(--input-padding); }
|
||||
div.item img.jpg { padding:var(--input-padding); }
|
||||
div.output.card>div.item>div.content { white-space:pre; font-size:var(--status-font-size); padding:var(--input-padding); height:var(--header-height); }
|
||||
@ -195,11 +195,16 @@ div.content>div.toggle.display { left:20%; bottom:-52px; rotate:90deg; border-to
|
||||
div.project:not(.toggle) { width:var(--project-width); flex:0 0 var(--project-width); }
|
||||
div.profile:not(.toggle) { width:50%; flex:0 0 50%; }
|
||||
/* fieldset */
|
||||
fieldset>div.action>div.friend { display:block; margin-left:10px !important; }
|
||||
fieldset>div.action>div.friend { display:block; margin-right:10px !important; overflow:hidden; }
|
||||
fieldset>div.action>div.friend img { height:var(--action-height); transition:all 1s; float:right; }
|
||||
fieldset>div.action>div.friend:not(:hover) img:not(:first-child) { margin-right:-20px; }
|
||||
fieldset>div.action>div.friend:hover img:not(:first-child) { margin-right:var(--input-margin); }
|
||||
fieldset>div.action>div.online { display:block; margin-left:10px !important; }
|
||||
fieldset>div.action>div.online { display:block; margin-right:10px !important; overflow:hidden; position:relative; }
|
||||
fieldset>div.action>div.online span { background-color:var(--hover-bg-color); color:var(--hover-fg-color); font-size:var(--status-font-size); position:absolute; bottom:0; }
|
||||
fieldset>div.action>div.online img { height:var(--action-height); transition:margin-right 1s; float:right; }
|
||||
fieldset>div.action>div.online img:hover { background-color:var(--hover-bg-color); }
|
||||
fieldset>div.action>div.online:not(:hover) img:not(:first-child) { margin-right:-20px; }
|
||||
body.mobile fieldset>div.action>div.online img:not(:first-child) { margin-right:-20px; }
|
||||
body.width6 fieldset>div.action>div.online:not(:hover) img:not(:first-child) { margin-right:var(--input-margin); }
|
||||
fieldset>div.action>div.online:hover img:not(:first-child) { margin-right:var(--input-margin); }
|
||||
fieldset>div.action>div.online:hover { background-color:unset; }
|
||||
fieldset>form.option>div.item:not(.icon) { margin-right:var(--button-margin); }
|
||||
fieldset>div.action>div.item:not(:last-child) { margin-right:var(--button-margin); }
|
||||
fieldset.input>legend { display:none; }
|
||||
@ -474,7 +479,7 @@ input[type=button] { border-radius:var(--button-radius); }
|
||||
fieldset>form.option>div.item.select { border-radius:var(--button-radius); }
|
||||
fieldset>form.option>div.item.button { border-radius:var(--button-radius); }
|
||||
fieldset>div.action div.item.button { border-radius:var(--button-radius); }
|
||||
fieldset>div.action div.item.button:last-child { margin-right:20px; }
|
||||
fieldset>div.action>div.item.button:last-child { margin-right:20px; }
|
||||
fieldset>div.action div.item.select:not(.button):not(.cmds) { border-radius:var(--button-radius); border-bottom:var(--notice-bg-color) solid 3px; }
|
||||
fieldset:not(.input):not(.panel):not(.full):not(.cmd) { border-radius:var(--plugin-radius); }
|
||||
fieldset>div.status>legend:not(:hover):not(.select) { border-radius:0; }
|
||||
|
@ -76,7 +76,7 @@ Volcanos("user", {
|
||||
return fmt == "%W"? list: can.base.Time(time, (fmt||"%y-%m-%d %H:%M:%S").replace("%w", list[now.getDay()]))
|
||||
},
|
||||
toastConfirm: function(can, content, title, action) {
|
||||
if (!action.list || action.list.length == 0) { action = shy({confirm: action}, [html.CANCEL, html.CONFIRM], function() {}) }
|
||||
if (!action.list || action.list.length == 0) { action = shy({confirm: action}, [html.CANCEL, html.CONFIRM]) }
|
||||
var carte = can.user.toast(can, {content: content, title: title, action: action||[cli.CLOSE], duration: -1})
|
||||
can.page.style(can, carte._target, html.TOP, 200, html.BOTTOM, ""); return carte
|
||||
},
|
||||
@ -99,7 +99,10 @@ Volcanos("user", {
|
||||
] }]); can.onengine.signal(can, chat.ONTOAST, can.request({}, {time: can.misc._time(), title: meta.title, content: meta.content}))
|
||||
meta.action.meta && can.core.Item(meta.action.meta, function(key, cb) { cb.help && can.core.Value(meta.action.meta, ["_trans", key], cb.help) })
|
||||
var action = can.onappend._action(can, meta.action.list? meta.action.list.reverse(): meta.action, ui.action, {_trans: meta.action.meta? meta.action.meta._trans: {},
|
||||
_engine: function(event, button) { can.core.CallFunc(meta.action.meta? meta.action.meta[button]: meta.action, [event, button]) },
|
||||
_engine: function(event, button) {
|
||||
can.core.CallFunc(meta.action.meta? meta.action.meta[button]: meta.action, [event, button])
|
||||
action.close(event)
|
||||
},
|
||||
open: function(event) { meta.content.indexOf(ice.HTTP) == 0 && can.user.open(meta.content), meta.title.indexOf(ice.HTTP) == 0 && can.user.open(meta.title) },
|
||||
close: function(event) { action.timer.stop = true, can.page.Remove(can, ui._target) },
|
||||
cancel: function(event) { action.timer.stop = true, can.page.Remove(can, ui._target) },
|
||||
|
@ -2,6 +2,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb) { if (can.user.mod.isPod)
|
||||
can.require(["/plugin/local/code/inner.js"], function(can) { can.onimport._last_init(can, msg, function() {
|
||||
can.onengine.listen(can, "tabview.line.select", function(msg) { can.onaction._selectLine(can) })
|
||||
can.db.undo = [], can.db.redo = [], can.onimport._input(can), cb && cb(msg)
|
||||
can.onimport._online(can)
|
||||
}) })
|
||||
},
|
||||
_input: function(can) { var ui = can.page.Append(can, can.ui.content.parentNode, [
|
||||
|
@ -226,29 +226,23 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) {
|
||||
}, sub.onaction.close = function() { can.onmotion.hidden(can, target) }, can.base.isFunc(cb) && cb(sub)
|
||||
}, target, field)
|
||||
},
|
||||
_online: function(can, delay) {
|
||||
can.onmotion.delay(can, function() {
|
||||
if (!can.ui.friend) {
|
||||
if (can.isCmdMode()) {
|
||||
can.ui.friend = can.page.Append(can, can._action, ["item friend"])._target
|
||||
} else {
|
||||
var p = can.page.SelectOne(can, can._action, "div.item._space").nextSibling
|
||||
can.ui.friend = can.page.insertBefore(can, ["item friend"], p, can._action)
|
||||
}
|
||||
_online: function(can, delay) { can.onmotion.delay(can, function() {
|
||||
if (!can.ui.online) {
|
||||
if (can.isCmdMode()) {
|
||||
can.ui.online = can.page.Append(can, can._action, ["item online"])._target
|
||||
} else {
|
||||
var p = can.page.SelectOne(can, can._action, "div.item._space"); p = p? p.nextSibling: p
|
||||
can.ui.online = can.page.insertBefore(can, ["item online"], p, can._action)
|
||||
}
|
||||
can._root.Header.run(can.request({}, {_space: can.ConfSpace(), _index: can.ConfIndex()}), [ctx.ACTION, web.ONLINE], function(msg) {
|
||||
can.page.Appends(can, can.ui.friend, msg.Table(function(value, index) {
|
||||
return index < 5 && {img: can.misc.Resource(can,
|
||||
value.username == can.user.info.username? value.icons: value.avatar||"usr/icons/contexts.png"),
|
||||
title: [
|
||||
[value.usernick, value.username].join(" "),
|
||||
[value.agent, value.system, value.ip].join(" "),
|
||||
].join("\n")}
|
||||
}))
|
||||
})
|
||||
can.onimport._online(can, 30000)
|
||||
}, delay)
|
||||
},
|
||||
}
|
||||
can._root.Header.run(can.request({}, {_space: can.ConfSpace()||can.misc.Search(can, ice.POD), _index: can.ConfIndex()}), [ctx.ACTION, web.ONLINE], function(msg) {
|
||||
can.page.Appends(can, can.ui.online, msg.Table(function(value, index) {
|
||||
return index < 5 && {img: can.misc.Resource(can, value.username == can.user.info.username? value.icons: value.avatar||"usr/icons/contexts.png"),
|
||||
title: [[value.usernick, value.username].join(lex.SP), [value.agent, value.system, value.ip].join(lex.SP)].join(lex.NL)}
|
||||
}))
|
||||
can.page.Append(can, can.ui.online, [{text: msg.Length()+""}])
|
||||
}), can.onimport._online(can, 30000)
|
||||
}, delay) },
|
||||
})
|
||||
Volcanos(chat.ONLAYOUT, {
|
||||
_init: function(can, height, width) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user