mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 08:48:06 +08:00
add some
This commit is contained in:
parent
54a7872244
commit
ac01242ec1
@ -415,14 +415,13 @@ Volcanos("page", {
|
||||
getquery: function(can, target) {
|
||||
var list = []; for (var p = target; p; p = p.parentNode) {
|
||||
if (can.page.tagis(p, "body")) { list.pop(); break }
|
||||
list.push(can.core.Keys(p.tagName, can.core.List(p.classList).join(".")))
|
||||
list.push(can.core.Keys(p.tagName.toLowerCase(), can.core.List(p.classList).join(".")), ">")
|
||||
if (can.page.tagis(p, html.FIELDSET)) {
|
||||
if (can.page.tagis(p, "fieldset.story.web.chat.tutor.float")) { return "" }
|
||||
break
|
||||
if (can.page.tagis(p, "fieldset.web.chat.tutor")) { return "" }
|
||||
list.pop(); break
|
||||
}
|
||||
list.push(">")
|
||||
}
|
||||
return list.reverse().join("").toLowerCase()
|
||||
return list.reverse().join("")
|
||||
},
|
||||
theme: function(cb) { var themeMedia = window.matchMedia("(prefers-color-scheme: dark)")
|
||||
cb && themeMedia.addListener(function(event) { cb(event.matches? html.DARK: html.LIGHT) })
|
||||
|
@ -9,7 +9,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg) { var river = can.Conf(chat.R
|
||||
can.user.info.nodetype == web.WORKER && item._command == web.WORD && (list = [river, storm, item._command])
|
||||
}
|
||||
can.onappend.plugin(can, item, function(sub, meta, skip) {
|
||||
if (can.base.isIn(meta.index, "can._notfound")) { sub.Conf(ctx.INDEX, msg.detail[index+3]) }
|
||||
if (msg.detail && can.base.isIn(meta.index, "can._notfound")) { sub.Conf(ctx.INDEX, msg.detail[index+3]) }
|
||||
sub.run = function(event, cmds, cb) { return can.run(can.request(event, {pod: meta.pod||meta.space}), (can.base.beginWith(meta.index, "can.")? [meta.index]: [river, storm, meta.id||meta.index]).concat(cmds), cb) }
|
||||
sub.onexport.output = function() { msg.Length() > 1 && can.onexport.isauto(can) && can.page.style(can, sub._output, html.HEIGHT, "", html.MAX_HEIGHT, ""), can.onaction.layout(can, list[3]) }
|
||||
can.onaction.layout(can, list[3]), can.onimport._tabs(can, sub, meta), can._plugins = (can._plugins||[]).concat([sub])
|
||||
@ -19,7 +19,8 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg) { var river = can.Conf(chat.R
|
||||
}, function() { can.onaction.layout(can, list[3]), _select._tabs.click() })
|
||||
},
|
||||
_tabs: function(can, sub, meta) {
|
||||
var tabs = [{view: [html.ITEM, "", can.user.trans(can, meta.name, meta.help)], title: meta.help, onclick: function(event) { can._current = sub
|
||||
var tabs = [{view: [[html.ITEM, meta.name], "", can.user.trans(can, meta.name, meta.help)], title: meta.help, onclick: function(event) { can._current = sub
|
||||
can.onengine.signal(can, "onevent", can.request(event, {query: can.page.getquery(can, event.target)}))
|
||||
can.onmotion.select(can, can._output, html.FIELDSET_PLUGIN, sub._target), can.onmotion.select(can, can._action, html.DIV_ITEM, sub._tabs), can.onmotion.select(can, can._header_tabs, html.DIV_ITEM, sub._header_tabs)
|
||||
can.onmotion.delay(can, function() { sub._header_tabs.scrollIntoViewIfNeeded() })
|
||||
var layout = can.onexport.layout(can); layout == FREE || (can._output.scrollTop = sub._target.offsetTop-10)
|
||||
|
@ -17,7 +17,7 @@ body.mobile fieldset.Footer>div.output { font-style:italic; height:var(--footer-
|
||||
body.mobile fieldset.Footer>div.output div.toast { display:none; }
|
||||
body.mobile fieldset.Footer>div.output div.cmd { display:none; }
|
||||
|
||||
.picker { box-shadow:#626bd0 0px 2px 10px 5px !important; position:relative; top: -5px; transition:all 0.5s; }
|
||||
.picker { box-shadow:var(--notice-bg-color) 0px 0px 20px 5px !important; position:relative; left:-5px; top: -5px; transition:all 0.5s; background-color:blue !important; color:white !important; }
|
||||
div.view span.string { color:#f29766; }
|
||||
div.view span.keyword { color:#5cadd4; }
|
||||
div.item:not(.string):not(.number):not(.boolean)>span.value { color:var(--disable-fg-color); font-style:italic; }
|
||||
|
@ -28,7 +28,6 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can._wss = can.onda
|
||||
case web.CLEAR:
|
||||
case cli.CLOSE: break
|
||||
default: var list = can.core.Split(event.target.value, lex.SP)
|
||||
// can.onexport._float(can, "cli", list[0], list.slice(1), function(sub) { can.getActionSize(function(left) { can.page.style(can, sub._target, html.LEFT, left+html.PLUGIN_MARGIN, html.RIGHT, "") }) })
|
||||
can.onexport._float(can, "cli", {index: "can.console", display: "/plugin/local/code/xterm.js"}, list, function(sub) { can.getActionSize(function(left) { can.page.style(can, sub._target, html.LEFT, left+html.PLUGIN_MARGIN, html.RIGHT, "") }) })
|
||||
}
|
||||
}}, "", target, [chat.TITLE]) },
|
||||
@ -42,9 +41,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can._wss = can.onda
|
||||
_data: function(can, name, item) { can.db[name] = can.db[name]||can.request(), can.db[name].Push(item), can.onimport.count(can, name) },
|
||||
value: function(can, name, value) { can.page.Select(can, can._output, "div.item>span."+name, function(target) { target.innerHTML = value }) },
|
||||
count: function(can, name) { can.page.Select(can, can._output, can.core.Keys(html.SPAN, name), function(item) { item.innerHTML = can.Conf(name, parseInt(can.Conf(name)||"0")+1+"")+"" }) },
|
||||
ntip: function(can, msg, time, title, content) { can.onimport._data(can, NTIP, {time: time,
|
||||
// fileline: can.base.trimPrefix(msg.Option("log.caller"), location.origin+nfs.PS),
|
||||
title: title, content: content}), can.page.Modify(can, can.ui.toast, [time, title, content].join(lex.SP)) },
|
||||
ntip: function(can, msg, time, title, content) { can.onimport._data(can, NTIP, {time: time, title: title, content: content}), can.page.Modify(can, can.ui.toast, [time, title, content].join(lex.SP)) },
|
||||
ncmd: function(can, msg, _follow, _cmds) { can.onimport._data(can, NCMD, {time: can.base.Time(), follow: _follow, cmds: _cmds}), can.onimport.nlog(can, NLOG) },
|
||||
nlog: function(can, name) { can.onimport.count(can, name) },
|
||||
menu: function(can, cmds, cb, trans) { can.base.isString(cmds) && (cmds = [cmds])
|
||||
@ -56,31 +53,20 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can._wss = can.onda
|
||||
},
|
||||
})
|
||||
Volcanos(chat.ONACTION, {_init: function(can) {},
|
||||
onsize: function(can) {
|
||||
can.ConfHeight(can._target.offsetHeight), can.ConfWidth(can._target.offsetWidth)
|
||||
can.onimport.value(can, html.HEIGHT, can.page.height())
|
||||
can.onimport.value(can, html.WIDTH, can.page.width())
|
||||
onsize: function(can) { can.ConfHeight(can._target.offsetHeight), can.ConfWidth(can._target.offsetWidth)
|
||||
can.onimport.value(can, html.HEIGHT, can.page.height()), can.onimport.value(can, html.WIDTH, can.page.width())
|
||||
},
|
||||
onlogin: function(can, msg) { can.run(can.request({}, {_method: http.GET}), [], function(msg) { can.onmotion.clear(can), can.onimport._init(can, msg, can._output) }) },
|
||||
ontoast: function(can, msg) { can.core.CallFunc(can.onimport.ntip, {can: can, msg: msg}) },
|
||||
onremote: function(can, msg) { can.core.CallFunc(can.onimport.ncmd, {can: can, msg: msg}) },
|
||||
onunload: function(can) { can._wss && can._wss.close() },
|
||||
onrecord: function(can, msg) { var zone = can.misc.sessionStorage(can, "web.chat.script:zone")
|
||||
zone && can.runAction(can.request(), nfs.SCRIPT, [zone].concat(msg.cmds[0]))
|
||||
},
|
||||
onrecord: function(can, msg) { var zone = can.misc.sessionStorage(can, "web.chat.script:zone"); zone && can.runAction(can.request(), nfs.SCRIPT, [zone].concat(msg.cmds[0])) },
|
||||
onaction_cmd: function(can) { can.onappend.style(can, html.HIDE) },
|
||||
onstorm_select: function(event, can, river, storm) {
|
||||
event.isTrusted != undefined && can.onimport._data(can, chat.TUTOR, {type: chat.STORM, text: [river, storm].join(",")})
|
||||
},
|
||||
onremove: function(event, can, query) {
|
||||
event.isTrusted != undefined && query && can.onimport._data(can, chat.TUTOR, {type: "remove", text: query})
|
||||
},
|
||||
onevent: function(event, can, query) {
|
||||
event.isTrusted != undefined && query && can.onimport._data(can, chat.TUTOR, {type: event.type, text: query})
|
||||
},
|
||||
ontheme: function(event, can, theme) {
|
||||
event.isTrusted != undefined && can.onimport._data(can, chat.TUTOR, {type: chat.THEME, text: theme})
|
||||
},
|
||||
onstorm_select: function(event, can, river, storm) { event.isTrusted != undefined && can.onimport._data(can, chat.TUTOR, {time: can.base.Time(), type: chat.STORM, text: [river, storm].join(",")}) },
|
||||
ontheme: function(event, can, theme) { event.isTrusted && theme && can.onimport._data(can, chat.TUTOR, {time: can.base.Time(), type: chat.THEME, text: theme}) },
|
||||
onevent: function(event, can, query) { event.isTrusted && query && can.onimport._data(can, chat.TUTOR, {time: can.base.Time(), type: event.type, text: query}) },
|
||||
onproject: function(event, can, query) { event.isTrusted && query && can.onimport._data(can, chat.TUTOR, {time: can.base.Time(), type: "item", text: query}) },
|
||||
onremove: function(event, can, query) { event.isTrusted && query && can.onimport._data(can, chat.TUTOR, {time: can.base.Time(), type: "remove", text: query}) },
|
||||
oncommand_focus: function(can) { can.page.Select(can, can._output, ["div.cmd", html.INPUT], function(target) { can.onmotion.focus(can, target) }) },
|
||||
onlayout: function(can, layout, before) { if (can.user.isMobile) { return }
|
||||
can.page.ClassList.del(can, can._target, before), can.page.ClassList.add(can, can._target, layout)
|
||||
@ -91,7 +77,6 @@ Volcanos(chat.ONACTION, {_init: function(can) {},
|
||||
})
|
||||
}) }) },
|
||||
})
|
||||
// Volcanos(chat.ONEXPORT, {list: [NTIP, NLOG, NCMD, NKEY, html.WIDTH, html.HEIGHT, nfs.VERSION],
|
||||
Volcanos(chat.ONEXPORT, {list: [cli.BEGIN, nfs.VERSION],
|
||||
height: function(can) { can.onexport._float(can, html.HEIGHT, "can.view") },
|
||||
width: function(can) { can.onexport._float(can, html.WIDTH, "can.data") },
|
||||
|
@ -30,9 +30,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target, cb) {
|
||||
can.base.isFunc(button)? button(event, button): can.onaction[button](event, can, button), can.onkeymap.prevent(event)
|
||||
}}]) },
|
||||
_vimer_zone: function(can, msg, target) { msg.Table(function(value) { var action = can.page.parseAction(can, value)
|
||||
can.onimport.item(can, {
|
||||
type: value.type,
|
||||
status: value.status,
|
||||
can.onimport.item(can, {type: value.type, status: value.status,
|
||||
icon: can.misc.Resource(can, value.icon||value.icons||value.avatar_url),
|
||||
name: can.page.Color(value[can.Conf(mdb.FIELD)||mdb.VIEW]||value[mdb.NAME]||value[mdb.TEXT]||value[mdb.TYPE]),
|
||||
title: value[mdb.TEXT]||value.description,
|
||||
@ -114,6 +112,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target, cb) {
|
||||
].concat(item._label||[], [
|
||||
item.action && {icon: "bi bi-three-dots", onclick: function(event) { can.onimport._menu(event, can, item, cbs) }},
|
||||
]), _init: function(target) {
|
||||
can.ui[item.path] = target
|
||||
item._select && can.onmotion.delay(can, function() { target.click() })
|
||||
}, onclick: function(event) {
|
||||
cb(event)
|
||||
@ -124,6 +123,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target, cb) {
|
||||
item: function(can, item, cb, cbs, _target) {
|
||||
return can.page.Append(can, _target||can.ui.project||can._output, [can.onimport._item(can, item, function(event) { var target = event.currentTarget
|
||||
can.onmotion.select(can, target.parentNode, html.DIV_ITEM, target)
|
||||
can.onengine.signal(can, "onproject", can.request(event, {type: "item", query: can.page.getquery(can, can._fields)+","+item.path}))
|
||||
var show = target._list && can.onmotion.toggle(can, target._list); cb(event, item, show, target)
|
||||
}, cbs)])._target
|
||||
},
|
||||
|
Loading…
x
Reference in New Issue
Block a user