1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 16:58:06 +08:00
This commit is contained in:
IT 老营长 @云轩领航-创始人 2022-09-25 16:46:56 +08:00
parent 54d7f079ec
commit ded4c85207
5 changed files with 20 additions and 10 deletions

View File

@ -655,9 +655,10 @@ Volcanos(chat.ONMOTION, {help: "动态特效", _init: function(can, target) {
clear: function(can, target) { return can.page.Modify(can, target||can._output, ""), true },
cache: function(can, next) { var list = can.base.Obj(can.core.List(arguments).slice(2), [can._output])
can.core.List(list, function(item) { item._cache_key && can.page.Cache(item._cache_key, item, item.scrollTop+1) })
can.core.List(list, function(item) { item && item._cache_key && can.page.Cache(item._cache_key, item, item.scrollTop+1) })
var key = next(can._cache_data = can._cache_data||{}); if (!key) { return }
return can.core.List(list, function(item) { var pos = can.page.Cache(item._cache_key = key, item)
return can.core.List(list, function(item) { if (!item) { return }
var pos = can.page.Cache(item._cache_key = key, item)
if (pos) { item.scrollTo && item.scrollTo(0, pos-1); return item }
}).length > 0
},

View File

@ -14,9 +14,8 @@ fieldset.Action.grid>div.output fieldset.plugin>div.output { overflow:auto; }
fieldset.Action>div.action div.tabview { font-size:1.1rem; padding:5px; height:21px; }
fieldset.Action>div.action div.tabview.select { background:#6495ed63; }
fieldset.Action>div.action div.tabview:hover { background:#6495ed63; }
fieldset.Action.tabview>div.action { display:block; }
fieldset.Action.tabview>div.output>fieldset>legend { display:none; }
fieldset.Action.tabview>div.output fieldset.plugin { display:none; overflow:auto; padding:0; }
fieldset.Action.tabview>div.output fieldset.plugin { display:none; overflow:auto; padding:0; margin:10px 0; }
fieldset.Action.tabview>div.output fieldset.plugin.select { display:block; }
fieldset.Action.tabview>div.output fieldset.plugin>form.option { display:none; }
fieldset.Action.tabview>div.output fieldset.plugin>div.action { display:none; }

View File

@ -1,4 +1,5 @@
Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg) {
can.onimport._menu(can, msg), can.onkeymap._init(can)
can.onaction.layout(can, can.misc.SearchOrConf(can, chat.LAYOUT)||Volcanos.meta.args.layout, true)
var river = can.Conf(chat.RIVER), storm = can.Conf(chat.STORM)
can.onmotion.clear(can), can.core.Next(msg.Table(), function(item, next) {
@ -10,7 +11,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg) {
can.onimport._plugin(can, river, storm, sub, meta), skip || next()
})
}, function() {
can.onimport._menu(can, msg), can.onkeymap._init(can)
// can.onimport._menu(can, msg), can.onkeymap._init(can)
})
},
_plugin: function(can, river, storm, sub, meta) { sub._target._meta = meta
@ -24,11 +25,18 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg) {
can.onmotion.select(can, can._output, html.FIELDSET_PLUGIN, sub._target)
can.onmotion.select(can, can._action, html.DIV_TABS, event.target)
}, onmouseenter: sub._legend.onmouseenter, ondblclick: sub._legend.onclick}]).first
sub._header_tabs = can.page.Append(can, can._header_tabs, [{view: [html.TABS, html.DIV, meta.name], onclick: function(event) {
can.onmotion.select(can, can._output, html.FIELDSET_PLUGIN, sub._target)
can.onmotion.select(can, can._header_tabs, html.DIV_TABS, event.target)
}, onmouseenter: sub._legend.onmouseenter, ondblclick: sub._legend.onclick}]).first
},
_menu: function(can, msg) { if (can.user.mod.isPod || can.user.isMobile) { return }
can.setHeaderMenu(can.base.Obj(msg.Option(chat.MENUS), can.Conf(chat.MENUS)||can.onaction._menus), function(event, button, list) {
can.core.CallFunc([can.onaction, list[0]], [can, button])
})
can.page.Select(can, can._root.Header._output, "action", function(target) {
can._header_tabs = can.page.Append(can, target, [{view: "tabs", style: {padding: 0, "padding-left": "40px"}}]).first
})
},
_share: function(can, share) { share && can.run({}, [web.SHARE, share], function(msg) {
msg.Length() == 1 && can.onengine.signal(can, chat.ONACTION_CMD)
@ -193,6 +201,7 @@ Volcanos(chat.ONACTION, {help: "交互操作", _init: function(can, cb, target)
onkeydown: function(can, msg) { var event = msg._event
if (event.ctrlKey && event.key >= "1" && event.key <= "9") {
can.onmotion.select(can, can._action, html.DIV_TABS, parseInt(event.key)-1), can.onmotion.select(can, can._output, html.FIELDSET_PLUGIN, parseInt(event.key)-1)
can.onmotion.select(can, can._header_tabs, html.DIV_TABS, parseInt(event.key)-1), can.onmotion.select(can, can._output, html.FIELDSET_PLUGIN, parseInt(event.key)-1)
}
},
onsearch: function(can, msg, word) {
@ -202,7 +211,7 @@ Volcanos(chat.ONACTION, {help: "交互操作", _init: function(can, cb, target)
onstorm_select: function(can, msg, river, storm) {
if (can.onmotion.cache(can, function() {
return can.core.Keys(can.Conf(chat.RIVER, river), can.Conf(chat.STORM, storm))
}, can._action, can._output)) {
}, can._header_tabs, can._action, can._output)) {
var conf = can.core.Value(can._root, can.core.Keys(chat.RIVER, river, chat.STORM, storm))||{}
return can.onaction.layout(can, can.misc.SearchOrConf(can, chat.LAYOUT)||Volcanos.meta.args.layout||conf.layout, true)
}
@ -239,6 +248,7 @@ Volcanos(chat.ONACTION, {help: "交互操作", _init: function(can, cb, target)
can.page.ClassList.del(can, can._target, can.Conf(chat.LAYOUT)); if (button == ice.AUTO) { button = "" }
can.page.ClassList.add(can, can._target, can.Conf(chat.LAYOUT, button)), can.onlayout._init(can)
can.onmotion.toggle(can, can._root.River._target, true), can.onmotion.toggle(can, can._root.Footer._target, true), can.onlayout._init(can)
can.onmotion.hidden(can, can._header_tabs)
var cb = can.onlayout[button]; if (can.base.isFunc(cb)? cb(can, silent): (can.getActionSize(function(height, width) {
can.ConfHeight(can.base.Min(200, height-3*html.ACTION_HEIGHT-4*html.PLUGIN_MARGIN-200)), can.ConfWidth(width-4*html.PLUGIN_MARGIN)
@ -278,13 +288,12 @@ Volcanos(chat.ONLAYOUT, {help: "导出数据",
})
},
tabview: function(can) {
can.onmotion.toggle(can, can._header_tabs, true)
can.onmotion.hidden(can, can._root.River._target), can.onmotion.hidden(can, can._root.Footer._target), can.onlayout._init(can)
can.onmotion.delay(can, function() {
can.onmotion.select(can, can._action, html.DIV_TABS, 0), can.onmotion.select(can, can._output, html.FIELDSET_PLUGIN, 0)
})
can.getActionSize(function(height, width) {
can.ConfHeight(height-2*html.PLUGIN_MARGIN), can.ConfWidth(width-2*html.PLUGIN_MARGIN)
})
can.getActionSize(function(height, width) { can.ConfHeight(height-2*html.PLUGIN_MARGIN), can.ConfWidth(width) })
},
tabs: function(can) {
can.onmotion.select(can, can._action, html.DIV_TABS, 0), can.onmotion.select(can, can._output, html.FIELDSET_PLUGIN, 0)

View File

@ -31,7 +31,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb) { c
})
Volcanos(chat.ONLAYOUT, {help: "界面布局",
_init: function(can) {
can.page.style(can, can._output, html.HEIGHT, can.ConfHeight()+10, html.WIDTH, can.ConfWidth()+20, html.MAX_WIDTH, "")
can.page.style(can, can._output, html.HEIGHT, can.ConfHeight()+20, html.WIDTH, can.ConfWidth()+20, html.MAX_WIDTH, "")
can.onmotion.delay(can, function() { can.page.style(can, can._output, html.HEIGHT, "", html.WIDTH, "") }, 500)
can._current && can._current._fit.fit(), can.onexport.term(can)
},

View File

@ -29,6 +29,7 @@ Volcanos(chat.ONIMPORT, {help: "导入数据", _init: function(can, msg, cb, tar
},
title: function(can, title) {
can._legend.innerHTML = title, can.sup && can.sup._tabs && (can.sup._tabs.innerHTML = title)
can.sup && can.sup._header_tabs && (can.sup._header_tabs.innerHTML = title)
},
zone: function(can, list, target) { var color = [""]
return can.page.Append(can, target, can.core.List(list, function(zone, index) { can.base.isString(zone) && (zone = {name: zone}); return zone && {view: html.ZONE+" "+zone.name, list: [