diff --git a/frame.js b/frame.js index 97631bed..6253deb7 100644 --- a/frame.js +++ b/frame.js @@ -37,7 +37,7 @@ Volcanos(chat.ONENGINE, {_init: function(can, meta, list, cb, target) { var names = msg.Option(chat._NAMES)||panel._names||((can.Conf("iceberg")||Volcanos.meta.iceberg)+panel._name) can.misc.Run(event, can, {names: names, daemon: msg._daemon}, cmds, function(msg) { toast && toast.close(), toast = true - can.base.isFunc(cb) && cb(msg)//, Volcanos.meta.pack[can.core.Keys(panel._name, cmds.join(ice.FS))] = msg + can.base.isFunc(cb) && cb(msg), Volcanos.meta.pack[can.core.Keys(panel._name, cmds.join(ice.FS))] = msg }) }, _static: function(event, can, msg, panel, cmds, cb) { if (!can.user.isLocalFile) { return false } @@ -97,7 +97,7 @@ Volcanos(chat.ONDAEMON, {_init: function(can, name) { if (can.user.isLocalFile) input: function(can, msg, sub, arg) { can.page.Select(can, sub._target, "input:focus", function(target) { target.value += arg[0] }) }, grow: function(can, msg, sub, arg) { if (sub.sup && sub.sup.onimport._grow) { return sub.sup.onimport._grow(sub.sup, msg, arg.join("")) } - if (sub && sub.onimport._grow) { return sub.onimport._grow(sub, msg, can.page.Color(arg.join(""))) } + if (sub && sub.onimport._grow) { return sub.onimport._grow(sub, msg, arg.join("")) } }, close: function(can, msg, sub) { can.user.close() }, exit: function(can, msg, sub) { can.user.close() }, diff --git a/lib/misc.js b/lib/misc.js index 3c7817f2..c1ce3c9b 100644 --- a/lib/misc.js +++ b/lib/misc.js @@ -160,10 +160,11 @@ Volcanos("misc", {Message: function(event, can) { var msg = {} MergeURL: function(can, objs, clear) { var pod = "" var path = location.pathname; objs._path && (path = objs._path), delete(objs._path) objs.pod && (path = can.base.Path("/chat/pod/", objs.pod)), delete(objs.pod) - var ls = path.split(ice.PS); ls[1] == "chat" && ls[2] == "pod" && (pod = ls[3]) + var ls = path.split(ice.PS); ls[1] == "chat" && ls[2] == ice.POD && (pod = ls[3]) objs.cmd && (path = can.base.Path("/chat", pod? "pod/"+pod: "", ice.CMD, objs.cmd)), delete(objs.cmd) objs.website && (path = can.base.Path("/chat", pod? "pod/"+pod: "", web.WEBSITE, objs.website)), delete(objs.website) - return can.base.MergeURL(location.origin+path+(clear?"":location.search), objs) + var _location = location; if (can.user.isExtension) { var _location = new URL(Volcanos.meta.iceberg) } + return can.base.MergeURL(_location.origin+path+(clear?"":_location.search), objs) }, SearchOrConf: function(can, key, def) { return can.base.getValid(can.misc.Search(can, key), can.Conf(key), def) }, SearchHash: function(can) { if (!can.isCmdMode()) { return [] } diff --git a/page/index.css b/page/index.css index 8e04d571..1f99af86 100644 --- a/page/index.css +++ b/page/index.css @@ -62,7 +62,7 @@ fieldset.simple>div.status { display:none; } fieldset.simple div.toggle { display:none; } fieldset.float { background-color:#0e3369; color:white; padding:0; margin:0; } fieldset.full { background-color:#0e3369; color:white; padding:0; margin:0; overflow:auto; position:absolute; left:0; top:0; } -fieldset.cmd>div.output { overflow:hidden; } +fieldset.cmd>div.output { overflow:auto; } /* input */ fieldset.input>legend { display:none; } fieldset.input.key { overflow:auto; } diff --git a/panel/action.js b/panel/action.js index fce504a8..f1f9f686 100644 --- a/panel/action.js +++ b/panel/action.js @@ -115,7 +115,9 @@ Volcanos(chat.ONACTION, {_init: function(can, target) { return can.onaction.layout(can, can.misc.SearchOrConf(can, html.LAYOUT)||msg.Option(html.LAYOUT)||conf.layout, true) } can.run({}, [river, storm], function(msg) { - if (msg.Length() == 0) { return can.onengine.signal(can, chat.ONACTION_NOTOOL, can.request({}, {river: river, storm: storm})) } + if (msg.Length() == 0) { if (can.user.isLocalFile) { return } + return can.onengine.signal(can, chat.ONACTION_NOTOOL, can.request({}, {river: river, storm: storm})) + } can.onaction.layout(can, can.misc.SearchOrConf(can, html.LAYOUT)||msg.Option(html.LAYOUT), true) return can.onkeymap._init(can), can.onimport._menu(can, msg), can.onimport._init(can, msg) }) diff --git a/panel/river.js b/panel/river.js index d981c32b..87e3f33f 100644 --- a/panel/river.js +++ b/panel/river.js @@ -2,8 +2,9 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg) { var select; can.page.Append return can.onimport._river(can, item, function(target) { (index == 0 || item.hash == can._main_river) && (select = target) }) })), select && select.click() }, _main: function(can, msg) { can.river_list = {}, can.storm_list = {}, can.sublist = {} - can._main_river = can.misc.Search(can, chat.RIVER)||msg.Option(ice.MSG_RIVER)||can._main_river||"project" - can._main_storm = can.misc.Search(can, chat.STORM)||msg.Option(ice.MSG_STORM)||can._main_storm||"studio" + var ls = []; can.user.isExtension && (ls = (can.misc.localStorage(can, "main")||"").split(",")) + can._main_river = can.misc.Search(can, chat.RIVER)||msg.Option(ice.MSG_RIVER)||Volcanos.meta.args.river||can._main_river||ls[0]||"project" + can._main_storm = can.misc.Search(can, chat.STORM)||msg.Option(ice.MSG_STORM)||Volcanos.meta.args.storm||can._main_storm||ls[1]||"studio" }, _menu: function(can, msg) { if (can.user.mod.isPod||can.user.isMobile) { return } can.setHeaderMenu(can.base.Obj(can.Conf(chat.MENUS)||msg.Option(chat.MENUS), can.ondetail._menus), function(event, button) { @@ -50,6 +51,7 @@ Volcanos(chat.ONACTION, {list: [mdb.CREATE, web.REFRESH], _init: function(can) { action: function(event, can, river, storm) { can.onmotion.select(can, can._output, html.DIV_ITEM, can.river_list[river]) can.onmotion.select(can, can._output, [html.DIV_LIST, html.DIV_ITEM], can.storm_list[can.core.Keys(river, storm)]), can.onmotion.toggle(can, can.sublist[river], true) can.onmotion.delay(can, function() { can.onengine.signal(can, chat.ONSTORM_SELECT, can.request(event, {river: can.Conf(chat.RIVER, river), storm: can.Conf(chat.STORM, storm)})) }) + can.user.isExtension && can.misc.localStorage(can, "main", river+","+storm) }, carte: function(event, can, list, cb) { can.user.carteRight(event, can, can.ondetail, list, cb) }, }) diff --git a/plugin/local/wiki/word.js b/plugin/local/wiki/word.js index aceb3523..9b0f982b 100644 --- a/plugin/local/wiki/word.js +++ b/plugin/local/wiki/word.js @@ -19,7 +19,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear( can.getActionSize(function(msg) { can.page.style(can, nav, html.HEIGHT, can.ConfHeight()+(can.isCmdMode()? msg.Option(html.MARGIN_Y): 0)) can.page.style(can, can._output, html.PADDING, 10, html.FLOAT, html.LEFT, html.CLEAR, html.NONE, - html.HEIGHT, can.sup._navmenu.offsetHeight-20, html.MAX_WIDTH, can.ConfWidth(can.ConfWidth()-nav.offsetWidth-21), + html.HEIGHT, can.sup._navmenu.offsetHeight, html.MAX_WIDTH, can.ConfWidth(can.ConfWidth()-nav.offsetWidth), ) }) }, @@ -69,7 +69,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, target) { can.onmotion.clear( var view = can.page.Appends(can, target, [ {view: html.MENU, style: {height: can.ConfHeight()/2, width: 120}}, - {view: html.LIST, style: {height: can.ConfHeight()/2, width: can.ConfWidth()-(can.user.isWindows? 181: 165)}}, + {view: html.LIST, style: {height: can.ConfHeight()/2, width: can.ConfWidth()-(can.user.isWindows? 181: 185)}}, ]) return show(list[0], list[0]._index, view.menu, view.list), first.click() } diff --git a/plugin/story/json.css b/plugin/story/json.css index d8406401..13036ca0 100644 --- a/plugin/story/json.css +++ b/plugin/story/json.css @@ -5,4 +5,5 @@ div.output.json div.item span.nonce { color:#9cbeca4f; cursor:pointer; } div.output.json div.item span.key { color:yellow; } div.output.json div.item span.string { color:magenta; } div.output.json div.item span.const { color:cyan; } +body.white div.output.json div.item span.key { color:blue; } diff --git a/proto.js b/proto.js index 69c4f99a..7465a6df 100644 --- a/proto.js +++ b/proto.js @@ -256,7 +256,7 @@ function shy(help, meta, list, cb) { var args = arguments, i = 0; function next( } else if (i < args.length && (!type || type == typeof args[i])) { return args[i++] } } return cb = typeof args[args.length-1] == lang.FUNCTION? args[args.length-1]: function() {}, cb.help = next(lang.STRING)||"", cb.meta = next(lang.OBJECT)||{}, cb.list = next(lang.ARRAY)||[], cb }; var _can_name = "", _can_path = "" -var Volcanos = shy({version: window._version||"", iceberg: "/chat/", volcano: "/frame.js", cache: {}, pack: {}}, function(name, can, libs, cb) { +var Volcanos = shy({version: window._version||"", iceberg: "/chat/", volcano: "/frame.js", cache: {}, pack: {}, args: {}}, function(name, can, libs, cb) { var meta = arguments.callee.meta, list = arguments.callee.list; if (typeof name == lang.OBJECT) { if (name.length > 0) { return Volcanos({panels: [ {name: chat.HEADER, pos: html.HIDE, state: [aaa.USERNICK]},