forked from x/volcanos
opt some
This commit is contained in:
parent
ef95c993e5
commit
4cab052f01
12
frame.js
12
frame.js
@ -638,18 +638,6 @@ Volcanos(chat.ONKEYMAP, {_init: function(can, target) { target = target||documen
|
|||||||
} return list
|
} return list
|
||||||
},
|
},
|
||||||
_mode: {
|
_mode: {
|
||||||
webview: {
|
|
||||||
"[": function(event, can, target) { history.back() },
|
|
||||||
"]": function(event, can, target) { history.forward() },
|
|
||||||
r: function(event, can, target) { can.user.reload(true) },
|
|
||||||
w: function(event, can, target) { can.user.close() },
|
|
||||||
q: function(event, can, target) { window.terminate() },
|
|
||||||
|
|
||||||
o: function(event, can, target) { window.openurl(location.href) },
|
|
||||||
p: function(event, can, target) { window.openapp("QuickTime Player") },
|
|
||||||
t: function(event, can, target) { window.opencmd("cd contexts; pwd") },
|
|
||||||
f: function(event, can, target) { can.onengine.signal(can, chat.ONOPENSEARCH, can.request({}, {type: mdb.FOREACH})) },
|
|
||||||
},
|
|
||||||
insert: {
|
insert: {
|
||||||
Escape: function(event, can, target) { if (event.key == lang.ESCAPE) { target.blur() } },
|
Escape: function(event, can, target) { if (event.key == lang.ESCAPE) { target.blur() } },
|
||||||
Enter: function(event, can, target) { if (event.key != lang.ENTER) { return }
|
Enter: function(event, can, target) { if (event.key != lang.ENTER) { return }
|
||||||
|
@ -83,7 +83,7 @@ fieldset.input.date div.output td span.lunar.term { color:green; }
|
|||||||
fieldset.input.date div.output td span.lunar.fest { color:red; }
|
fieldset.input.date div.output td span.lunar.fest { color:red; }
|
||||||
fieldset.input.date div.status { text-align:center; }
|
fieldset.input.date div.status { text-align:center; }
|
||||||
/* float */
|
/* float */
|
||||||
body div.float { background-color:#0e3369b3; padding:5px; }
|
body div.float { background-color:#0e3369b3; padding:5px; overflow:auto; }
|
||||||
body>div.toast div.title { color:blue; float:left; }
|
body>div.toast div.title { color:blue; float:left; }
|
||||||
body>div.toast div.duration { color:gray; float:right; }
|
body>div.toast div.duration { color:gray; float:right; }
|
||||||
body>div.toast div.content { color:blue; text-align:center; }
|
body>div.toast div.content { color:blue; text-align:center; }
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
(function() { const TABS = "tabs", TABVIEW = "tabview", HORIZON = "horizon", VERTICAL = "vertical", GRID = "grid", FREE = "free", FLOW = "flow", PAGE = "page", CAN_LAYOUT = "can.layout"
|
(function() { const TABS = "tabs", TABVIEW = "tabview", HORIZON = "horizon", VERTICAL = "vertical", GRID = "grid", FREE = "free", FLOW = "flow", PAGE = "page", CAN_LAYOUT = "can.layout"
|
||||||
Volcanos(chat.ONIMPORT, {_init: function(can, msg) { can.onmotion.clear(can)
|
Volcanos(chat.ONIMPORT, {_init: function(can, msg) { can.onmotion.clear(can)
|
||||||
var river = can.Conf(chat.RIVER), storm = can.Conf(chat.STORM); can.core.Next(msg.Table(), function(item, next) { item.type = chat.PLUGIN, item.mode = can.Mode()
|
var river = can.Conf(chat.RIVER), storm = can.Conf(chat.STORM); can.core.Next(msg.Table(), function(item, next) { item.type = chat.PLUGIN, item.mode = can.Mode()
|
||||||
can.onappend.plugin(can, item, function(sub, meta, skip) {
|
can.onappend.plugin(can, item, function(sub, meta, skip) { can._plugins = can.misc.concat(can, can._plugins, [sub]), can.onimport._tabs(can, sub, meta), skip || next()
|
||||||
sub.run = function(event, cmds, cb) { return can.run(event, can.misc.concat(can, river == web.SHARE? [ctx.ACTION]: [], [river, storm, meta.id||meta.index], cmds), cb) }
|
sub.run = function(event, cmds, cb) { return can.run(event, can.misc.concat(can, river == web.SHARE? [ctx.ACTION]: [], [river, storm, meta.id||meta.index], cmds), cb) }
|
||||||
can._plugins = can.misc.concat(can, can._plugins, [sub]), can.onimport._tabs(can, sub, meta), skip || next()
|
|
||||||
sub._target.onclick = function(event) { event.target == sub._target && sub._tabs.click() }
|
sub._target.onclick = function(event) { event.target == sub._target && sub._tabs.click() }
|
||||||
})
|
})
|
||||||
}, function() { can.isCmdMode() || can.onmotion.delay(can, function() { can.onaction.layout(can) }) })
|
}, function() { can.isCmdMode() || can.onmotion.delay(can, function() { can.onaction.layout(can) }) })
|
||||||
@ -57,7 +56,7 @@ Volcanos(chat.ONACTION, {_init: function(can, target) {
|
|||||||
if (arg[0] == mdb.FOREACH || arg[0] == mdb.PLUGIN) { can.onexport.plugin(can, msg, arg, fields) }
|
if (arg[0] == mdb.FOREACH || arg[0] == mdb.PLUGIN) { can.onexport.plugin(can, msg, arg, fields) }
|
||||||
if (arg[0] == mdb.FOREACH || arg[0] == ctx.COMMAND) { can.onexport.command(can, msg, arg, fields) }
|
if (arg[0] == mdb.FOREACH || arg[0] == ctx.COMMAND) { can.onexport.command(can, msg, arg, fields) }
|
||||||
},
|
},
|
||||||
onkeydown: function(can, msg, model) { if (can.isCmdMode()) { return }
|
onkeydown: function(can, msg, model) { if (can.isCmdMode() && !msg._event.metaKey) { return }
|
||||||
if (can.onkeymap.selectCtrlN(msg._event, can, can._action, html.DIV_TABS)) { return }
|
if (can.onkeymap.selectCtrlN(msg._event, can, can._action, html.DIV_TABS)) { return }
|
||||||
can._keylist = can.onkeymap._parse(msg._event, can, model, can._keylist||[], can._output)
|
can._keylist = can.onkeymap._parse(msg._event, can, model, can._keylist||[], can._output)
|
||||||
},
|
},
|
||||||
@ -69,11 +68,7 @@ Volcanos(chat.ONACTION, {_init: function(can, target) {
|
|||||||
var cb = can.onlayout[button]; can.base.isFunc(cb) && cb(can) || can.onlayout._plugin(can, button)
|
var cb = can.onlayout[button]; can.base.isFunc(cb) && cb(can) || can.onlayout._plugin(can, button)
|
||||||
},
|
},
|
||||||
_menus: [[html.LAYOUT, ice.AUTO, TABS, TABVIEW, HORIZON, VERTICAL, GRID, FREE, FLOW, PAGE]],
|
_menus: [[html.LAYOUT, ice.AUTO, TABS, TABVIEW, HORIZON, VERTICAL, GRID, FREE, FLOW, PAGE]],
|
||||||
_trans: kit.Dict(
|
_trans: kit.Dict(html.LAYOUT, "布局", ice.AUTO, "默认布局", TABS, "标签布局", TABVIEW, "标签分屏", HORIZON, "左右分屏", VERTICAL, "上下分屏", GRID, "网格布局", FREE, "自由布局", FLOW, "流动布局", PAGE, "网页布局"),
|
||||||
html.LAYOUT, "布局", ice.AUTO, "默认布局", TABS, "标签布局",
|
|
||||||
TABVIEW, "标签分屏", HORIZON, "左右分屏", VERTICAL, "上下分屏",
|
|
||||||
GRID, "网格布局", FREE, "自由布局", FLOW, "流动布局", PAGE, "网页布局",
|
|
||||||
),
|
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONLAYOUT, {
|
Volcanos(chat.ONLAYOUT, {
|
||||||
tabs: function(can) { can.getActionSize(function(height, width) { can.ConfHeight(height-can.Conf(html.MARGIN_Y)+html.ACTION_MARGIN), can.ConfWidth(width-can.Conf(html.MARGIN_X)) })
|
tabs: function(can) { can.getActionSize(function(height, width) { can.ConfHeight(height-can.Conf(html.MARGIN_Y)+html.ACTION_MARGIN), can.ConfWidth(width-can.Conf(html.MARGIN_X)) })
|
||||||
@ -111,9 +106,7 @@ Volcanos(chat.ONEXPORT, {
|
|||||||
if (meta.index) { data.context = "", data.command = meta.index } else if (meta.cmd) { data.context = meta.ctx, data.command = meta.cmd } else { return } msg.Push(data, fields)
|
if (meta.index) { data.context = "", data.command = meta.index } else if (meta.cmd) { data.context = meta.ctx, data.command = meta.cmd } else { return } msg.Push(data, fields)
|
||||||
}) },
|
}) },
|
||||||
command: function(can, msg, arg, fields) { var meta = can.onengine.plugin.meta; can.core.Item(arg[1] == ""? meta: meta[arg[1]]? kit.Dict(arg[1], meta[arg[1]]): {}, function(name, command) {
|
command: function(can, msg, arg, fields) { var meta = can.onengine.plugin.meta; can.core.Item(arg[1] == ""? meta: meta[arg[1]]? kit.Dict(arg[1], meta[arg[1]]): {}, function(name, command) {
|
||||||
msg.Push(kit.Dict(ice.CTX, ice.CAN, ice.CMD, ctx.COMMAND, mdb.TYPE, ice.CAN, mdb.NAME, name||command.name, mdb.TEXT, command.help,
|
msg.Push(kit.Dict(ice.CTX, ice.CAN, ice.CMD, ctx.COMMAND, mdb.TYPE, ice.CAN, mdb.NAME, name||command.name, mdb.TEXT, command.help, ctx.CONTEXT, ice.CAN, ctx.COMMAND, name, ctx.INDEX, can.core.Keys(ice.CAN, name)), fields)
|
||||||
ctx.CONTEXT, ice.CAN, ctx.COMMAND, name, ctx.INDEX, can.core.Keys(ice.CAN, name),
|
|
||||||
), fields)
|
|
||||||
}) }
|
}) }
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONENGINE, {_engine: function(event, sup, msg, can, cmds, cb) {
|
Volcanos(chat.ONENGINE, {_engine: function(event, sup, msg, can, cmds, cb) {
|
||||||
@ -126,24 +119,38 @@ Volcanos(chat.ONENGINE, {_engine: function(event, sup, msg, can, cmds, cb) {
|
|||||||
Volcanos(chat.ONKEYMAP, {
|
Volcanos(chat.ONKEYMAP, {
|
||||||
toggleLayout: function(can, layout) { can.onaction.layout(can, can.onexport.layout(can) == layout? ice.AUTO: layout) },
|
toggleLayout: function(can, layout) { can.onaction.layout(can, can.onexport.layout(can) == layout? ice.AUTO: layout) },
|
||||||
toggleTheme: function(can, theme) { can.setHeader(chat.THEME, can.getHeaderTheme() == theme? ice.AUTO: theme) },
|
toggleTheme: function(can, theme) { can.setHeader(chat.THEME, can.getHeaderTheme() == theme? ice.AUTO: theme) },
|
||||||
_mode: {normal: {
|
_mode: {
|
||||||
j: function(event, can, target) { target.scrollBy(0, event.ctrlKey? 300: 30) },
|
webview: {
|
||||||
k: function(event, can, target) { target.scrollBy(0, event.ctrlKey? -300: -30) },
|
"[": function(event, can, target) { history.back() },
|
||||||
t: function(event, can) { can.onkeymap.toggleLayout(can, TABVIEW) },
|
"]": function(event, can, target) { history.forward() },
|
||||||
h: function(event, can) { can.onkeymap.toggleLayout(can, HORIZON) },
|
r: function(event, can, target) { can.user.reload(true) },
|
||||||
v: function(event, can) { can.onkeymap.toggleLayout(can, VERTICAL) },
|
w: function(event, can, target) { can.user.close() },
|
||||||
g: function(event, can) { can.onkeymap.toggleLayout(can, GRID) },
|
q: function(event, can, target) { window.terminate() },
|
||||||
f: function(event, can) { can.onkeymap.toggleLayout(can, FREE) },
|
|
||||||
b: function(event, can) { can.onkeymap.toggleTheme(can, cli.BLACK) },
|
o: function(event, can, target) { window.openurl(location.href) },
|
||||||
w: function(event, can) { can.onkeymap.toggleTheme(can, cli.WHITE) },
|
p: function(event, can, target) { window.openapp("QuickTime Player") },
|
||||||
l: function(event, can) { can.onkeymap.toggleTheme(can, html.LIGHT) },
|
t: function(event, can, target) { window.opencmd("cd contexts; pwd") },
|
||||||
d: function(event, can) { can.onkeymap.toggleTheme(can, html.DARK) },
|
f: function(event, can, target) { can.onengine.signal(can, chat.ONOPENSEARCH, can.request({}, {type: mdb.FOREACH})) },
|
||||||
c: function(event, can) { can.user.toimage(can, can.user.title(), can._target.parentNode, true) },
|
},
|
||||||
":": function(event, can) { can.onengine.signal(can, chat.ONCOMMAND_FOCUS), can.onkeymap.prevent(event) },
|
normal: {
|
||||||
" ": function(event, can) { can.onengine.signal(can, chat.ONSEARCH_FOCUS), can.onkeymap.prevent(event) },
|
j: function(event, can, target) { target.scrollBy(0, event.ctrlKey? 300: 30) },
|
||||||
Enter: function(event, can) { can.onengine.signal(can, chat.ONOPENSEARCH, can.request(event)) },
|
k: function(event, can, target) { target.scrollBy(0, event.ctrlKey? -300: -30) },
|
||||||
Escape: function(event, can) { can.onmotion.clearFloat(can), can._root.Search && can.onmotion.hidden(can, can._root.Search._target) },
|
t: function(event, can) { can.onkeymap.toggleLayout(can, TABVIEW) },
|
||||||
}}, _engine: {},
|
h: function(event, can) { can.onkeymap.toggleLayout(can, HORIZON) },
|
||||||
|
v: function(event, can) { can.onkeymap.toggleLayout(can, VERTICAL) },
|
||||||
|
g: function(event, can) { can.onkeymap.toggleLayout(can, GRID) },
|
||||||
|
f: function(event, can) { can.onkeymap.toggleLayout(can, FREE) },
|
||||||
|
b: function(event, can) { can.onkeymap.toggleTheme(can, cli.BLACK) },
|
||||||
|
w: function(event, can) { can.onkeymap.toggleTheme(can, cli.WHITE) },
|
||||||
|
l: function(event, can) { can.onkeymap.toggleTheme(can, html.LIGHT) },
|
||||||
|
d: function(event, can) { can.onkeymap.toggleTheme(can, html.DARK) },
|
||||||
|
c: function(event, can) { can.user.toimage(can, can.user.title(), can._target.parentNode, true) },
|
||||||
|
":": function(event, can) { can.onengine.signal(can, chat.ONCOMMAND_FOCUS), can.onkeymap.prevent(event) },
|
||||||
|
" ": function(event, can) { can.onengine.signal(can, chat.ONSEARCH_FOCUS), can.onkeymap.prevent(event) },
|
||||||
|
Enter: function(event, can) { can.onengine.signal(can, chat.ONOPENSEARCH, can.request(event)) },
|
||||||
|
Escape: function(event, can) { can.onmotion.clearFloat(can), can._root.Search && can.onmotion.hidden(can, can._root.Search._target) },
|
||||||
|
},
|
||||||
|
}, _engine: {},
|
||||||
})
|
})
|
||||||
Volcanos(chat.ONPLUGIN, {_plugin: shy("默认插件", [mdb.NAME, ice.LIST, ice.BACK]),
|
Volcanos(chat.ONPLUGIN, {_plugin: shy("默认插件", [mdb.NAME, 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", ice.RUN], function(can, msg, arg) {
|
layout: shy("界面布局", {_init: function(can) { can.Option(chat.LAYOUT, can.getAction(chat.LAYOUT)) }}, ["layout:select=auto,tabs,tabview,horizon,vertical,grid,free,flow,page", ice.RUN], function(can, msg, arg) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user