diff --git a/frame.js b/frame.js index 8089f4cd..a18b5027 100644 --- a/frame.js +++ b/frame.js @@ -492,7 +492,7 @@ Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can) { can.page.Select(can, target, "fieldset.left", function(field, index) { can.page.Modify(can, field, {style: {height: height}}) - width -= field.offsetWidth + can.user.isMobile || (width -= field.offsetWidth) }) can.page.Select(can, target, "fieldset.left>div.output", function(output) { can.page.Modify(can, output, {style: {height: height-32}}) @@ -761,10 +761,10 @@ Volcanos("onmotion", {help: "动态交互", list: [], _init: function(can, targe can.page.Modify(can, target||can._output, "") }, hidden: function(can, target) { - can.page.Modify(can, target, {style: {display: "none"}}) + can.page.Modify(can, target||can._target, {style: {display: "none"}}) }, toggle: function(can, target) { - can.page.Toggle(can, target) + can.page.Toggle(can, target||can._target) }, select: function(can, target, name, which) { can.page.Select(can, target, name, function(item, index) { diff --git a/lib/user.js b/lib/user.js index 7659f94c..6cf93d85 100644 --- a/lib/user.js +++ b/lib/user.js @@ -103,7 +103,9 @@ Volcanos("user", {help: "用户模块", agent: { } }) - can.run(can.request({}, {text: meta.text})._event, ["search", "Footer.onimport.toast"], function() {}, true) + can.run(can.request({}, { + text: meta.text, time: can.base.Time(), fileline: can.base.FileLine(2, 2), + })._event, ["search", "Footer.onimport.toast"], function() {}, true) return ui }, share: function(can, msg, cmd) { @@ -173,7 +175,7 @@ Volcanos("user", {help: "用户模块", agent: { } } - var msg = can.request(event) + var msg = can.request(event, can.Option()) var x = event.clientX||200, y = event.clientY||48; y += 10; if (x > 600) { x -= 160 } if (can.user.isMobile) { x = 100, y = 100 } @@ -246,7 +248,7 @@ Volcanos("user", {help: "用户模块", agent: { upload: function(event, can) { var begin = new Date() var x = event.clientX, y = event.clientY; y += 10; if (x > 400) { x -= 200 } if (can.user.isMobile) { x = 100, y = 100 } - var ui = can.page.Append(can, document.body, [{view: "upload", style: {left: x+"px", top: y+"px"}, list: [ + var ui = can.page.Append(can, document.body, [{view: "upload", style: {left: x, top: y}, list: [ {view: "action"}, {view: "output"}, ]}]) @@ -269,18 +271,14 @@ Volcanos("user", {help: "用户模块", agent: { if (value == "关闭") { return can.page.Remove(can, ui.first) } if (action.upload.files.length == 0) {return action.upload.focus()} - var msg = can.request(event) - can.core.Item(can.Option(), msg.Option) + var msg = can.request(event, can.Option(), {_upload: "file", _handle: "true"}) // 上传文件 begin = new Date() msg._progress = show msg.upload = action.upload.files[0] - msg.Option("_upload", "file") - msg.Option("_handle", "true") can.run(event, ["action", "upload"], function(msg) { - can.user.toast(can, "上传成功") - can.run() + can.user.toast(can, "上传成功"), can.run() }, true) }) action.upload.click() diff --git a/page/index.css b/page/index.css index a883a90f..ee92415b 100644 --- a/page/index.css +++ b/page/index.css @@ -32,8 +32,12 @@ body.mobile fieldset.River.left { position:fixed; top:48px; background-color:#243950bf; min-width:240px; font-size:24px; + /* width:-webkit-fill-available; */ z-index:10; } +body.mobile fieldset.River>div.output div.list div.item { + font-size:24px; +} body.mobile fieldset.Action.main { margin-top:48px; margin-bottom:64px; } @@ -67,7 +71,7 @@ fieldset.input>legend { } fieldset.float { position:absolute; - left:0; top:0; + background-color:#023531cf; } fieldset.float>legend { display:none; diff --git a/pane/Action.js b/pane/Action.js index 3e01ef3c..0cef8fc2 100644 --- a/pane/Action.js +++ b/pane/Action.js @@ -136,6 +136,12 @@ Volcanos("onexport", {help: "导出数据", list: [], item.dataset.args = JSON.stringify(list), cb(item, next, index, array) }) }, + size: function(can, msg) { + msg.Option("top", can._target.offsetTop) + msg.Option("left", can._target.offsetLeft) + msg.Option("width", can._target.offsetWidth) + msg.Option("height", can._target.offsetHeight) + }, plugin: function(can, msg, word) { var fields = (msg.Option("fields")||"ctx,cmd,type,name,text").split(",") can.page.Select(can, can._output, "fieldset.plugin>legend", function(item) { diff --git a/pane/Footer.js b/pane/Footer.js index ae809b36..6066ee32 100644 --- a/pane/Footer.js +++ b/pane/Footer.js @@ -11,7 +11,25 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, }) }, _toast: function(can, msg, target) { - can.toast = can.page.Append(can, target, [{view: ["toast", "div", ""]}]).first + can.toast = can.page.Append(can, target, [{view: ["toast", "div", ""], onclick: function(event) { + var ui = can.onappend.field(can, "story float", {}, document.body) + can.run({}, ["search", "Action.onexport.size"], function(msg, top, left, width, height) { + can.page.Modify(can, ui.first, {style: {top: top, left: left}}) + } ) + + can.onappend._action(can, ["关闭", "刷新"], ui.action, { + "关闭": function(event) { can.page.Remove(can, ui.first) }, + "刷新": function(event) { + can.page.Remove(can, ui.first) + can.toast.click() + }, + }) + can.onappend.table(can, can._toast, function(value) { + return {text: [value, "td"], onclick: function(event) { + + }} + }, ui.output) + }}]).first }, _state: function(can, msg, target) { can.core.List(can.Conf("state")|["ncmd"], function(item) { @@ -21,7 +39,10 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, }) }, - toast: function(can, msg, text) { can.page.Modify(can, can.toast, text) }, + toast: function(can, msg, text, time, fileline) { can._toast = can._toast || can.request() + can.page.Modify(can, can.toast, time.split(" ").pop()+" "+text) + can._toast.Push({time: time, fileline: fileline, text: text}) + }, ncmd: function(can, target) { can.page.Select(can, target, "span.ncmd", function(item) { item.innerHTML = can.Conf("ncmd", parseInt(can.Conf("ncmd")||"0")+1+"")+"" diff --git a/pane/River.js b/pane/River.js index 10813933..04666ac5 100644 --- a/pane/River.js +++ b/pane/River.js @@ -37,6 +37,7 @@ Volcanos("onaction", {help: "控件交互", list: [], _init: function(can, msg, }) can.onengine.listen(can, "action.touch", function() { + can.user.isMobile && can.onmotion.hidden(can) can.page.Select(can, document.body, "div.carte", function(item) { can.page.Remove(can, item) }) diff --git a/plugin/local/wiki/word.css b/plugin/local/wiki/word.css index f1ff81c0..bbebf1dc 100644 --- a/plugin/local/wiki/word.css +++ b/plugin/local/wiki/word.css @@ -1,3 +1,7 @@ +fieldset.word>form.option>div.item.text input { + width:200px; +} + fieldset.word a { word-break:break-word; }