diff --git a/lib/misc.js b/lib/misc.js index b24951a1..456b5509 100644 --- a/lib/misc.js +++ b/lib/misc.js @@ -23,7 +23,7 @@ Volcanos("misc", { if (val == undefined) { return can.base.isIn(key, msg.append) && msg[key] && msg[key][0] || "" } return msg.append = can.base.AddUniq(msg.append, key), msg[key] = can.core.List(arguments).slice(1), val }, - Result: function() { if (!msg.result) { return } return msg.result[0] == ice.ErrWarn? msg.result.join(ice.SP): msg.result.join("") }, + Result: function() { if (!msg.result) { return "" } return msg.result[0] == ice.ErrWarn? msg.result.join(ice.SP): msg.result.join("") }, Results: function() { return msg.result && msg.result[0] == ice.ErrWarn? "": msg.Result() }, TableDetail: function() { var item = can.Option(); return msg.Table(function(value) { can.core.Value(item, value.key, value.value) }), item }, Table: function(cb) { return can.core.List(msg.Length(), function(index) { var item = {} diff --git a/panel/action.js b/panel/action.js index 07575640..4d2919aa 100644 --- a/panel/action.js +++ b/panel/action.js @@ -64,10 +64,10 @@ Volcanos(chat.ONACTION, {_init: function(can, target) { can._keylist = can.onkeymap._parse(msg._event, can, model, can._keylist||[], can._output) }, onresize: function(can) { can.onaction.layout(can), window.setsize && window.setsize(can.page.width(), can.page.height()) }, - ontitle: function(can, msg) { can.misc.localStorage(can, CAN_LAYOUT, "") }, + ontitle: function(can, msg) { can.onlayout._storage(can, "") }, - layout: function(can, button) { can.page.ClassList.del(can, can._target, can._layout||can.misc.localStorage(can, CAN_LAYOUT)), can._header_tabs && can.onmotion.hidden(can, can._header_tabs) - button = (can.misc.localStorage(can, CAN_LAYOUT, can._layout = button == ice.AUTO? "": button))||can.misc.SearchOrConf(can, html.LAYOUT), can.page.ClassList.add(can, can._target, button) + layout: function(can, button) { can.page.ClassList.del(can, can._target, can._layout||can.onlayout._storage(can)), can._header_tabs && can.onmotion.hidden(can, can._header_tabs) + button = (can.onlayout._storage(can, can._layout = button == ice.AUTO? "": button))||can.misc.SearchOrConf(can, html.LAYOUT), can.page.ClassList.add(can, can._target, button) can.onengine.signal(can, chat.ONLAYOUT, can.request({}, {layout: button})), can._root.River && can._river_show === false && can.onmotion.hidden(can, can._root.River._target), can.onlayout._init(can) can.core.List(can._plugins, function(sub) { sub._delay_refresh = false, can.page.ClassList.set(can, sub._target, html.OUTPUT, [TABVIEW, HORIZON, VERTICAL].indexOf(button) > -1) }) var cb = can.onlayout[button]; can.base.isFunc(cb) && cb(can) || can.onlayout._plugin(can, button) @@ -94,6 +94,7 @@ Volcanos(chat.ONLAYOUT, { }) }, page: function(can) { can.page.styleHeight(can, can._output, ""), can.page.style(can, document.body, kit.Dict(html.OVERFLOW, "")) }, _plugin: function(can, button) { can.core.List(can._plugins, function(sub) { sub.onimport.size(sub, can.ConfHeight(), can.ConfWidth(), can.onexport.isauto(can)) && can.page.style(can, sub._output, html.MAX_HEIGHT, "") }) }, + _storage: function(can, value) { return can.misc.sessionStorage(can, can.core.Keys(CAN_LAYOUT, location.pathname), value) }, }) Volcanos(chat.ONEXPORT, { size: function(can, msg) { @@ -101,7 +102,7 @@ Volcanos(chat.ONEXPORT, { msg.Option(html.HEIGHT, can._output.offsetHeight), msg.Option(html.WIDTH, can._output.offsetWidth) msg.Option(html.MARGIN_Y, can.Conf(html.MARGIN_Y)), msg.Option(html.MARGIN_X, can.Conf(html.MARGIN_X)) }, - layout: function(can) { return can._layout||can.misc.SearchOrConf(can, html.LAYOUT)||"" }, + layout: function(can) { return can._layout||can.onlayout._storage(can)||can.misc.SearchOrConf(can, html.LAYOUT)||"" }, isauto: function(can) { return ["", FLOW, PAGE].indexOf(can.onexport.layout(can)) > -1 }, args: function(can, msg, cb) { can.core.Next(can._plugins, function(sub, next, index, list) { cb(can.base.trim(can.page.SelectArgs(can, sub._option, "", function(item) { return item.value })), sub, next, index, list) diff --git a/panel/river.js b/panel/river.js index 73a59b68..92a66ae3 100644 --- a/panel/river.js +++ b/panel/river.js @@ -47,7 +47,7 @@ Volcanos(chat.ONACTION, {list: [mdb.CREATE, web.SHARE, web.REFRESH], _init: func can.onmotion.select(can, can._output, [html.DIV_LIST, html.DIV_ITEM], can.ui.storm_list[can.core.Keys(river, storm)]) can.onengine.signal(can, chat.ONSTORM_SELECT, can.request(event, {river: can.Conf(chat.RIVER, river), storm: can.Conf(chat.STORM, storm)})) // location.hash = [river, storm].join(ice.DF) - can.misc.sessionStorage(can, "can.river", river), can.misc.sessionStorage(can, "can.storm", storm) + // can.misc.sessionStorage(can, "can.river", river), can.misc.sessionStorage(can, "can.storm", storm) }, carte: function(event, can, list, river, storm) { can.onkeymap.prevent(event); if (can.core.Value(can._root, can.core.Keys(chat.RIVER, river))) { return } can.request(event, {river: river, storm: storm}) diff --git a/plugin/local/code/inner.js b/plugin/local/code/inner.js index 7b90ecd4..a0f3b829 100644 --- a/plugin/local/code/inner.js +++ b/plugin/local/code/inner.js @@ -176,6 +176,7 @@ Volcanos(chat.ONIMPORT, {_init: function(can, msg, cb, target) { can.onmotion.cl display: function(can, msg) { var width = can.ui.content.offsetWidth+can.ui.profile.offsetWidth||can.ConfWidth()-can.ui.project.offsetWidth var height = can.onexport.size(can, can.db.display_size[can.onexport.keys(can)]||0.5, can.ui.content.offsetHeight||can.ConfHeight()) can.onimport.process(can, msg, can.ui.display, height, width, function(sub) { var _height = can.base.Max(sub._target.offsetHeight, height) + can.page.style(can, sub._target, html.MIN_HEIGHT, _height = can.base.Min(_height, can.ConfHeight()/4)) can.db.display_size[can.onexport.keys(can)] = _height, can.onimport.layout(can), sub.onimport.size(sub, _height, width, true) }) },