1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 16:58:06 +08:00
This commit is contained in:
IT 老营长 @云轩领航-创始人 2023-12-30 20:18:30 +08:00
parent 99cdfe1ded
commit 9c1a69290d
7 changed files with 46 additions and 21 deletions

View File

@ -75,13 +75,9 @@ Volcanos(chat.ONDAEMON, {_init: function(can, name) { if (can.user.isLocalFile)
})
}, _list: [""], pwd: function(can, arg) { 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))
},
grow: function(can, msg, sub, arg) {
if (sub._fields && sub.sup && sub.sup.onimport._grow) { return sub.sup.onimport._grow(sub.sup, msg, arg.join("")) }
if (!sub._fields && sub && sub.onimport._grow) { return sub.onimport._grow(sub, msg, arg.join("")) }
},
toast: function(can, sub, arg, cb) { can.core.CallFunc(can.user.toast, [sub].concat(arg)) },
grow: function(can, msg, sub, arg) { var _can = sub._fields && sub.sup? sub.sup: sub; _can.onimport._grow(_can, msg, arg.join("")) },
rich: function(can, msg, sub, arg) { var _can = sub._fields && sub.sup? sub.sup: sub; _can.onimport._rich(_can, msg, arg) },
refresh: function(can, sub) { can.base.isFunc(sub.Update) && sub.Update() },
action: function(can, msg, sub, arg) {
if (arg[0] == "ctrl") { var list = []
@ -474,7 +470,8 @@ Volcanos(chat.ONAPPEND, {_init: function(can, meta, list, cb, target, field) {
}) } return code.scrollBy && code.scrollBy(0, 10000), code
},
tools: function(can, msg, cb, target) { can.onimport.tool(can, can.base.Obj(msg.Option(ice.MSG_TOOLKIT))||[], cb, target) },
style: function(can, style, target) { target = target||can._fields||can._target
style: function(can, style, target) { if (!style) { return }
target = target||can._fields||can._target
if (can.base.endWith(style, ".css")) { return can.require([style]) }
can.base.isObject(style) && !can.base.isArray(style)? can.page.style(can, target, style): can.page.ClassList.add(can, target, style)
},
@ -730,7 +727,7 @@ Volcanos(chat.ONMOTION, {_init: function(can, target) {
},
},
scrollHold: function(can, cb, target) { target = target || can._output; var left = target.scrollLeft; cb(), target.scrollLeft = left },
scrollIntoView: function(can, target, margin) { if (can._scroll) { return } can._scroll = true, margin = margin||0
scrollIntoView: function(can, target, margin) { if (!target || can._scroll) { return } can._scroll = true, margin = margin||0
var offset = (target.offsetTop-margin) - target.parentNode.scrollTop, step = offset < 0? -20: 20
if (Math.abs(offset) > 3000) {
return target.parentNode.scrollTop = (target.offsetTop-margin), delete(can._scroll)

View File

@ -591,10 +591,13 @@ fieldset.plan>div.output>div.layout { height:100%; }
fieldset.draw div.output svg { margin-bottom:-5px; }
fieldset.draw>div.output>div.layout>div.layout>div.profile table { width:100%; }
fieldset.draw>form.option>div.item.pid>input { width:var(--button-width) !important; }
fieldset.draw.trend div.output { overflow:hidden; }
fieldset.draw.trend div.output svg { background-color:#1b5b738c; }
fieldset.draw.spide div.output svg text { cursor:pointer; }
fieldset.draw.spide div.output svg path { stroke-width:1; }
fieldset.draw.trends div.output { overflow:hidden; }
fieldset.draw.trends div.output svg { background-color:#1b5b738c; }
fieldset.form>div.output { text-align:center; }
fieldset.form>div.output div.info { font-size:20px; padding:80px 20px; overflow:auto; }
fieldset.form>div.output input[type=button] { font-size:24px; border:var(--notice-bg-color) solid 1px; width:240px; height:48px; }
fieldset.draw.spides div.output svg text { cursor:pointer; }
fieldset.draw.spides div.output svg path { stroke-width:1; }
fieldset.draw>div.output>div.layout>div.layout>div.profile { width:var(--project-width); flex:0 0 var(--project-width); }
fieldset.word>div.output>fieldset.story:not(.full) { margin:var(--title-margin) 0; }
fieldset.word>div.output fieldset.story:not(.float):not(.full)>form.option>div.icon.delete { display:none; }

View File

@ -217,7 +217,9 @@ Volcanos(chat.ONKEYMAP, {
toggleTheme: function(can, theme) { can.setHeader(chat.THEME, can.getHeaderTheme() == theme? ice.AUTO: theme) },
toggleLayout: function(can, layout) { can.onaction.layout(can, can.onexport.layout(can) == layout? ice.AUTO: layout) },
})
Volcanos(chat.ONPLUGIN, {_plugin: shy("默认插件", [mdb.NAME, ice.LIST, ice.BACK]),
Volcanos(chat.ONPLUGIN, {
_plugin: shy("默认插件", [mdb.NAME, ice.LIST, ice.BACK]),
_filter: shy("默认插件", [web.FILTER, ice.LIST, ice.BACK]),
layout: shy("界面布局", {_init: function(can) { can.Option(chat.LAYOUT, can.getAction(chat.LAYOUT)) }}, ["layout:select=auto,tabs,tabview,horizon,vertical,grid,free,flow,page", ctx.RUN], function(can, msg, arg) {
can.onaction.layout(can, arg[0])
}),

View File

@ -8,7 +8,11 @@ Volcanos(chat.ONIMPORT, {
_rewrite: function(can, msg) { var arg = msg._arg; for (var i = 0; i < arg.length; i += 2) { can.Option(arg[i], arg[i+1]), can.Action(arg[i], arg[i+1]) } can.Update() },
_display: function(can, msg) { can.onappend._output(can, msg, msg.Option(ice.MSG_DISPLAY)) },
_clear: function(can, msg) { can.onmotion.clear(can) },
_inner: function(can, sub, msg) { can.onappend.table(sub, msg), can.onappend.board(sub, msg), can.onmotion.story.auto(sub) },
_inner: function(can, sub, msg) {
can.onmotion.scrollIntoView(can, can.onappend.table(sub, msg))
can.onmotion.scrollIntoView(can, can.onappend.board(sub, msg))
can.onmotion.story.auto(sub)
},
_field: function(can, msg, cb) { var height = can.base.Max(html.STORY_HEIGHT, can.ConfHeight()), width = can.ConfWidth()
msg.Table(function(item) { can.onappend._plugin(can, item, {_space: can.ConfSpace(), index: item.index, args: can.base.Obj(item.args||item.arg, []), height: height, width: width}, function(sub) {
if (can.base.isIn(sub.ConfIndex(), web.CODE_VIMER, web.CHAT_MACOS_DESKTOP, web.WIKI_PORTAL)) { height = can.base.Max(can.onexport.outputHeight(can), can.ConfHeight()) }
@ -21,10 +25,27 @@ Volcanos(chat.ONIMPORT, {
_float: function(can, msg) { can.onimport._field(can, msg, function(sub) { can.onmotion.float(sub) }) },
_hold: function(can, msg, arg) { can.user.toast(can, arg||ice.SUCCESS) },
_back: function(can) { can.onimport.back({}, can) },
_rich: function(can, msg) { if (can.page.Select(can, can._output, [html.TABLE_CONTENT, html.TBODY], function(table) {
var head = can.page.Select(can, can._output, [html.TABLE_CONTENT, html.TH], function(th) { return th.innerText })
return can.page.Append(can, table, msg.Table(function(value) { return {row: can.core.List(head, function(key) { return value[key] })} }))
}).length == 0) { can.onappend.table(can, msg) } },
_rich: function(can, msg) { var sub = can.sub
function _rich() { if (sub._rich_list.length == 0) { return } if (sub._rich_running) { return } sub._rich_running = true
var msg = sub._rich_list.shift(), list = msg.detail.slice(1)
if (!sub._rich._table) {
for (var i = 1; i < msg.detail.length; i += 2) { msg.Push(msg.detail[i], msg.detail[i+1]) }
sub._rich._table = can.onappend.table(sub._rich, msg)
} else { var list = []
for (var i = 1; i < msg.detail.length; i += 2) { list.push(msg.detail[i+1]) }
can.page.Append(can, sub._rich._table, [{td: list}]), sub._rich._output.scrollTop += 100000
} can.core.Timer(msg.Option(cli.DELAY)||0, function() { sub._rich_running = false, _rich() })
}
if (sub._rich) {
(sub._rich_list = sub._rich_list||[]).push(msg); return _rich()
} else {
(sub._rich_list = sub._rich_list||[]).push(msg); if (sub._rich_list.length > 1) { return }
}
var height = can.onexport.outputHeight(can)
can.onappend.plugin(can, {index: "can._filter", title: "table.js", height: height}, function(sub) {
sub.onexport.output = function() { can.sub._rich = sub.sub, _rich(), can.onmotion.scrollIntoView(can, sub._target) }
}); return
},
_grow: function(can, msg, arg) {
var sub = can.sub; if (sub && sub.onimport && sub.onimport.grow) { return sub.onimport.grow(sub, msg, msg.detail[1], msg.detail[2]) }
if (msg.Option(ctx.DISPLAY)) {
@ -41,7 +62,7 @@ Volcanos(chat.ONIMPORT, {
(can.sub._grow_list = can.sub._grow_list||[]).push(msg); if (can.sub._grow_list.length > 1) { return }
}
var height = can.onexport.outputHeight(can)
can.onappend.plugin(can, {index: "can._plugin", title: msg.Option(ctx.DISPLAY).split(nfs.PS).pop(), display: msg.Option(ctx.DISPLAY), height: height}, function(sub) {
can.onappend.plugin(can, {index: "can._filter", title: msg.Option(ctx.DISPLAY).split(nfs.PS).pop(), display: msg.Option(ctx.DISPLAY), height: height}, function(sub) {
sub.onexport.output = function() { can.onmotion.scrollIntoView(can, sub._target), can.sub._grow = sub.sub, _grow() }
}); return
}

View File

@ -1,4 +1,6 @@
Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear(can, target)
Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) {
can.onappend.style(can, can.Conf("style"))
can.onmotion.clear(can, target)
if (can.Mode() == html.ZONE) { return can.onimport._vimer_zone(can, msg, target) }
var cbs = can.onimport[can.Conf(ctx.STYLE)||msg.Option(ctx.STYLE)]; if (can.base.isFunc(cbs)) {
can.onappend.style(can, can._args[ctx.STYLE], target), can.core.CallFunc(cbs, {can: can, msg: msg, target: target})