diff --git a/frame.js b/frame.js index bd72a17f..7d689be2 100644 --- a/frame.js +++ b/frame.js @@ -7,6 +7,9 @@ Volcanos("onengine", {help: "搜索引擎", list: [], _init: function(can, meta, can.misc.CookieSessid(can, can.misc.Search(can, ice.MSG_SESSID)) return can.misc.Search(can, ice.MSG_SESSID, "") } + window.addEventListener("orientationchange", function(event) { + can.onengine.signal(can, "orientationchange") + }) if (can.user.isExtension) { Volcanos.meta.args = can.base.Obj(localStorage.getItem(ctx.ARGS), {}) } can.page.Select(can, target, html.IFRAME, function(item) { can.page.Remove(can, item) }) @@ -362,9 +365,8 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, item.type == html.TEXT && can.onkeymap.input(event, can), can.onmotion.selectField(event, can) }, list: [input]}]).concat(br))[item.name] }, - table: function(can, msg, cb, target, sort) { var isaction = false + table: function(can, msg, cb, target, sort) { var table = can.page.AppendTable(can, msg, target||can._output, msg.append, cb||function(value, key, index, line, array) { - if (key == "action") { isaction = true } if (msg.append.length == 2 && msg.append[0] == mdb.KEY && msg.append[1] == mdb.VALUE) { if (key == mdb.VALUE) { key = line.key } line = {}, can.core.List(array, function(item) { line[item.key] = item.value }) @@ -401,7 +403,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, can.onmotion.modifys(can, event.target, function(event, value, old) { run([ctx.ACTION, mdb.MODIFY, key, value]) }, item) }} }); table && can.page.Modify(can, table, {className: chat.CONTENT}) - if (isaction) { can.page.ClassList.add(can, table, "action") } + if (msg.append && msg.append[msg.append.length-1] == "action") { can.page.ClassList.add(can, table, "action") } return sort && can.page.RangeTable(can, table, sort), table }, board: function(can, text, target) { text && text.Result && (text = text.Result()); if (!text) { return } @@ -520,7 +522,7 @@ Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can, targe }) can.page.Select(can, target, html.FIELDSET_LEFT, function(field, index) { - var offset = can.user.isMobile? 100: 0 + var offset = can.user.isMobile && !can.user.isLandscape()? 100: 0 can.user.isMobile || (width -= field.offsetWidth) can.page.styleHeight(can, field, height-offset) can.page.Select(can, target, [[html.FIELDSET_LEFT, html.DIV_OUTPUT]], function(output) { @@ -559,7 +561,7 @@ Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can, targe if (layout.left+target.offsetWidth>window.innerWidth) { layout.right = 0, layout.left = "" } - if (top+target.offsetHeight>window.innerHeight-32) { + if (!(can.user.isMobile && can.user.isLandscape()) && top+target.offsetHeight>window.innerHeight-32) { layout.bottom = window.innerHeight - event.clientY+event.offsetY, layout.top = "" if (right) { layout.bottom -= target.offsetHeight } } diff --git a/page/index.css b/page/index.css index 52ce2745..872e966e 100644 --- a/page/index.css +++ b/page/index.css @@ -27,7 +27,7 @@ table.layout div.toggle.display>div { color:white; text-align:center; height:10p table.content tr { background-color:#04272f45; } table.content tr.show { background-color:red; } table.content th { background-color:#0fbd45; padding:2px 6px; } -table.content td { padding:2px 6px; max-width:800px; } +table.content td { padding:2px 6px; } table.content.action td:last-child, table.content.action th:last-child { background-color:#7dc6d7eb; position:sticky; @@ -147,8 +147,8 @@ body.mobile>div.input input[name=password] { width:264px; } body.mobile legend { font-size:1.6rem; } body.mobile input { font-size:1.4rem; } body.mobile textarea { font-size:1.2rem; } -body.mobile input[type=text] { padding-top:3px; height:2.35rem; } body.mobile input[type=text] { padding-top:3px; height:2.47rem; } +body.mobile.white input[type=text] { padding-top:3px; height:2.35rem; } body.mobile select { font-size:1.4rem; margin-top:3px; height:42px; } body.mobile>div.carte { font-size:1.6rem; } body.mobile>div.carte div.item { font-size:1.6rem; } @@ -158,6 +158,8 @@ body.mobile fieldset.Header.head { background-color:#000000b8; font-size:1.6rem; body.mobile fieldset.Header.head div.output { height:3rem; } body.mobile fieldset.Header.head>div.output div.menu { height:2.6rem; } body.mobile fieldset.Header.head div.state.time { display:none; } +body.mobile fieldset.Header>div.output>div.search>input { height:38px; } +body.mobile.landscape fieldset.Header>div.output>div.search>input { width:240px; } body.mobile fieldset.River.left { background-color:#243950bf; font-size:2rem; min-width:240px; position:fixed; top:3rem; z-index:10; } body.mobile fieldset.River>div.output { width:320px; } body.mobile fieldset.River>div.output div.item { font-size:1.6rem; } @@ -167,11 +169,26 @@ body.mobile fieldset.Footer.foot { width:-webkit-fill-available; } body.mobile fieldset.Footer.foot { background-color:#000000b8; font-size:1.6rem; height:3rem; position:fixed; bottom:0; } body.mobile fieldset.Footer.foot div.output { height:3rem; } body.mobile fieldset.Footer.foot>div.output div { height:2.6rem; } +body.mobile fieldset.Footer>div.output input[name=cmd] { height:38px; } +body.mobile.landscape fieldset.Footer>div.output input[name=cmd] { width:240px; } body.mobile.landscape fieldset.Header.head { position:unset; } body.mobile.landscape fieldset.Header.head div.state.time { display:block; } body.mobile.landscape fieldset.Action.main { margin-top:0; margin-bottom:0; } body.mobile.landscape fieldset.Footer.foot { position:unset; } +body.mobile fieldset.draw.spide div.action { display:none; } +body.mobile fieldset.draw.trend div.action { display:none; } +body.mobile.landscape fieldset.draw.spide div.action { display:block; } +body.mobile.landscape fieldset.draw.trend div.action { display:block; } + +body.mobile fieldset.plugin.inner div.action { display:none; } +body.mobile.landscape fieldset.plugin.inner div.action { display:contents; } +body.mobile.landscape fieldset.plugin.inner form.option input[type=button] { display:none; } +/* body.mobile.landscape fieldset.panel.Action.cmd fieldset.plugin.inner form.option input[type=button] { display:block; } */ + +/* body.mobile fieldset.panel.Action.cmd fieldset.plugin.inner td.project div.project { display:none; } */ +/* body.mobile.landscape fieldset.panel.Action.cmd fieldset.plugin.inner td.project div.project { display:block; } */ + /* font */ * { tab-size:4; } textarea { tab-size:2; } diff --git a/panel/action.js b/panel/action.js index 012992bd..1a46a2c3 100644 --- a/panel/action.js +++ b/panel/action.js @@ -21,7 +21,11 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg) meta.id && (sub._option.dataset = sub._option.dataset||{}, sub._option.dataset.id = meta.id) - can.page.Modify(can, sub._output, {style: kit.Dict(html.MAX_WIDTH, meta.width-(can.user.isWindows? 20: 0))}) + can.onengine.listen(can, "orientationchange", function(event) { + can.page.style(can, sub._output, html.MAX_WIDTH, meta.width-(can.user.isWindows? 20: 0)) + }) + can.page.style(can, sub._output, html.MAX_WIDTH, meta.width-(can.user.isWindows? 20: 0)) + can.page.Append(can, can._action, [{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._action, html.DIV_TABS, event.target) diff --git a/plugin/local/code/inner.js b/plugin/local/code/inner.js index d74c335d..ca0f739e 100644 --- a/plugin/local/code/inner.js +++ b/plugin/local/code/inner.js @@ -2,6 +2,11 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target can.onengine.plugin(can, "can.code.inner.plugin", shy("插件", {}, [{type: "button", name: "list", action: "auto"}, "back"], function(msg, cmds) { console.log("what") })) + can.onengine.listen(can, "orientationchange", function(event) { + if (can.user.mod.isCmd) { can.ConfHeight(window.innerHeight), can.ConfWidth(window.innerWidth) } + can.user.toast(can, can.ConfHeight()+"") + can.onimport.layout(can) + }) var paths = can.core.Split(can.Option(nfs.PATH), ice.FS); can.Option(nfs.PATH, paths[0]) var files = can.core.Split(can.Option(nfs.FILE), ice.FS); can.Option(nfs.FILE, files[0]) @@ -13,7 +18,6 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target can.onimport._profile(can, can.ui.profile) can.onimport._display(can, can.ui.display) can.base.isFunc(cb) && cb(msg) - if (can.user.isMobile || !can.page.ClassList.has(can, can._fields, chat.PLUGIN)) { can.onmotion.hidden(can, can._action) } can.onimport.tabview(can, can.Option(nfs.PATH), can.Option(nfs.FILE), can.Option(nfs.LINE)) can.Conf("mode") == "simple"? can.onimport._simple(can): can.onimport.project(can, paths, function() { @@ -80,7 +84,6 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target can.ui.toolkit = can.onappend.field(can, "toolkit", {}, can._output) }, _session: function(can, msg) { - if (can.user.isMobile || !can.page.ClassList.has(can, can._fields, chat.PLUGIN)) { return can.onmotion.hidden(can, can._action) } can.onimport.sess(can, "", function() { can.onimport.sess(can, { plug: can.core.Split(msg.OptionOrSearch("plug")).reverse(), exts: can.core.Split(msg.OptionOrSearch("exts")).reverse(), @@ -188,6 +191,7 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, cb, target layout: function(can) { var height = can.ConfHeight()-(can.user.isMobile && can.user.mod.isCmd? (can.user.isLandscape()? 14: 54): 0)-(can.user.isWindows? 20: 0), width = can.ConfWidth()-(can.user.isWindows && !can.user.mod.isCmd? 20: 0)+(can.user.isMobile && can.user.mod.isCmd && can.user.isLandscape()? 16: 0) + if (can.user.isMobile && can.user.isLandscape() && height < 200) { height = 200 } can.page.styleWidth(can, can.ui.profile_output, can.profile_size[can.onexport.keys(can)]||(width-can.ui.project.offsetWidth)/2) can.page.styleWidth(can, can.ui.content, width-can.ui.project.offsetWidth-can.ui.profile.offsetWidth) diff --git a/plugin/local/wiki/word.css b/plugin/local/wiki/word.css index d177880d..1fff3797 100644 --- a/plugin/local/wiki/word.css +++ b/plugin/local/wiki/word.css @@ -1,3 +1,5 @@ +fieldset.word form.option input[name=path] { width:127px; } + fieldset.word>div.navmenu { background-color:inherit; overflow:auto; margin-right:10px; min-width:120px; clear:both; float:left; } fieldset.word>div.navmenu div.list { margin-left:20px; } fieldset.word>div.navmenu div.item { font-size:1.6em; font-weight:bold; font-family:cursive; padding:4px 10px; } diff --git a/plugin/local/wiki/word.js b/plugin/local/wiki/word.js index c540b88a..5acddfc7 100644 --- a/plugin/local/wiki/word.js +++ b/plugin/local/wiki/word.js @@ -133,7 +133,7 @@ Volcanos("onkeymap", {help: "键盘交互", list: [], }, }, _engine: {}, }) -Volcanos("onaction", {help: "控件交互", list: ["view"], +Volcanos("onaction", {help: "控件交互", list: [], _trans: {view: "视图"}, play: function(event, can) { var list = [], current = [] can.page.Select(can, can._output, wiki.ITEM, function(item) { diff --git a/plugin/table.js b/plugin/table.js index a065e9dc..c1324195 100644 --- a/plugin/table.js +++ b/plugin/table.js @@ -4,6 +4,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, can.onappend.board(can, msg, target) can.onmotion.story.auto(can) can.base.isFunc(cb) && cb(msg) + can.user.isMobile && !can.user.isLandscape() && can.onmotion.hidden(can, can._action) }, _process: function(can, msg) {