diff --git a/frame.js b/frame.js index a18b5027..13ba1258 100644 --- a/frame.js +++ b/frame.js @@ -26,7 +26,8 @@ Volcanos("onengine", {help: "解析引擎", list: [], _init: function(can, meta, "list": cmds.slice(2), "cb": cb, "target": sub._target, }, mod) }, - remote: function(event, can, msg, pane, cmds, cb) { msg.Option("_handle", "false") + remote: function(event, can, msg, pane, cmds, cb) { + delete(msg._handle), delete(msg._toast) if (pane.onengine.engine(event, can, msg, pane, cmds, cb)) { return } can.misc.Runs(event, can, {names: pane._name}, cmds, cb) pane.run(event, ["search", "Footer.onimport.ncmd"]) @@ -219,6 +220,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, }, list.concat(Volcanos.meta.volcano, Volcanos.meta.libs), function(sub) { sub.Conf(meta) meta.feature = sub.base.Obj(meta.feature, {}) sub.page.ClassList.add(sub, field, meta.style||meta.feature.style||"") + sub.page.ClassList.add(sub, field, meta.index? meta.index.split(".").pop(): meta.name) typeof cb == "function" && cb(sub) meta.option = can.base.Obj(meta.option||"{}", {}) @@ -764,7 +766,7 @@ Volcanos("onmotion", {help: "动态交互", list: [], _init: function(can, targe can.page.Modify(can, target||can._target, {style: {display: "none"}}) }, toggle: function(can, target) { - can.page.Toggle(can, target||can._target) + return 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/plugin/local/code/inner.js b/plugin/local/code/inner.js index 526a7430..151b91d2 100644 --- a/plugin/local/code/inner.js +++ b/plugin/local/code/inner.js @@ -1,29 +1,35 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, list, cb, target) { - can.history = can.history || [] can.onmotion.clear(can), can.ui = can.onlayout.profile(can) - var height = can.Conf("height")-320; height < 240 && (height = 240) - can.page.Modify(can, can.ui.project, {style: {"max-height": height}}) - can.page.Modify(can, can.ui.content, {style: {"max-height": height}}) - can.page.Modify(can, can.ui.content, {style: {"min-width": can.Conf("width")-170}}) - can.page.Modify(can, can.ui.display, {style: {display: "none"}}) - - var ui = can.page.Append(can, can.ui.display, [ - {view: "action"}, {view: "output"}, - ]); can.ui.output = ui.output - can.onappend._action(can, ["关闭", "清空", "运行"], ui.action, { - "关闭": function(event) { can.onmotion.hidden(can, can.ui.display) }, - "清空": function(event) { can.onmotion.clear(can, can.ui.output) }, - "运行": function(event) { can.onaction["运行"](event, can) }, - }) + can.onimport._content(can, target) + can.onimport._output(can, target) + can.onimport._search(can, target) + can.onimport._favor(can, target) + can.history = can.history || [] msg.Option({path: can.Option("path"), file: can.Option("file"), line: can.Option("line")||1}) can.tabview = can.tabview || {}, can.tabview[can.Option("path")+can.Option("file")] = msg can.onimport.tabview(can, msg.Option("path"), msg.Option("file"), msg.Option("line")||1) can.onimport.project(can, msg.Option("path")) typeof cb == "function" && cb(msg) - can.onimport._search(can, target) - can.onimport._favor(can, target) + }, + _content: function(can, target) { + var height = can.Conf("height")-320; height < 240 && (height = 240) + can.page.Modify(can, can.ui.project, {style: {"max-height": height}}) + can.page.Modify(can, can.ui.content, {style: {"max-height": height}}) + can.page.Modify(can, can.ui.content, {style: {"min-width": can.Conf("width")-170}}) + can.page.Modify(can, can.ui.display, {style: {display: "none"}}) + }, + _output: function(can, target) { + var ui = can.page.Append(can, can.ui.display, [ + {view: "action"}, {view: "output"}, + ]); can.ui.output = ui.output + + can.onappend._action(can, ["关闭", "清空", "运行"], ui.action, { + "关闭": function(event) { can.onmotion.hidden(can, can.ui.display) }, + "清空": function(event) { can.onmotion.clear(can, can.ui.output) }, + "运行": function(event) { can.onaction["运行"](event, can) }, + }) }, _search: function(can, target) { var ui = can.page.Append(can, target, [ @@ -60,6 +66,7 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, list, cb, can.onmotion.hidden(sub, sub._target) }, target) }, + project: function(can, path) { can.Option({path: path}) var msg = can.request({}, {dir_root: path, dir_deep: true}) can.run(msg._event, ["./"], function(msg) { @@ -156,6 +163,13 @@ Volcanos("onaction", {help: "控件交互", list: ["项目", "运行", "搜索"] last && can.onimport.tabview(can, last.path, last.file, last.line) can.Status("跳转数", can.history.length) }, + "项目": function(event, can) { + var width = can.Conf("width")-(can.onmotion.toggle(can, can.ui.project)? 170: 0) + + can.page.Modify(can, can.ui.content, {style: {"min-width": width}}) + }, + "搜索": function(event, can) { can.onmotion.toggle(can, can.ui.search) }, + "收藏": function(event, can) { can.onmotion.toggle(can, can.ui.favor._target) }, "运行": function(event, can) { var msg = can.request(event, {_toast: "运行中..."}) can.run(event, ["action", "engine", can.parse, can.Option("file"), can.Option("path")], function(msg) { @@ -164,9 +178,6 @@ Volcanos("onaction", {help: "控件交互", list: ["项目", "运行", "搜索"] can.page.Modify(can, can.ui.display, {style: {display: "block"}}) }, true) }, - "项目": function(event, can) { can.onmotion.toggle(can, can.ui.project) }, - "搜索": function(event, can) { can.onmotion.toggle(can, can.ui.search) }, - "收藏": function(event, can) { can.onmotion.toggle(can, can.ui.favor._target) }, appendLine: function(can, value) { var ui = can.page.Append(can, can.ui.content, [{type: "tr", list: [ diff --git a/plugin/local/code/vimer.js b/plugin/local/code/vimer.js index 3197af85..98916ab2 100644 --- a/plugin/local/code/vimer.js +++ b/plugin/local/code/vimer.js @@ -297,7 +297,7 @@ Volcanos("onkeymap", {help: "键盘交互", list: ["command", "normal", "insert" can.onaction.rerankLine(can) }, }) -Volcanos("onaction", {help: "控件交互", list: ["项目", "搜索", "运行", "收藏"], +Volcanos("onaction", {help: "控件交互", list: ["项目", "搜索", "收藏", "运行"], save: function(event, can) { var msg = can.request(event, {content: can.onexport.content(can)}) can.run(event, ["action", "save", can.parse, can.Option("file"), can.Option("path")], function(msg) { can.user.toast(can, "保存成功") diff --git a/plugin/local/wiki/draw.css b/plugin/local/wiki/draw.css index 3e257c61..ebbd0319 100644 --- a/plugin/local/wiki/draw.css +++ b/plugin/local/wiki/draw.css @@ -1,3 +1,6 @@ fieldset.draw div.output div.content svg { background-color:#1b5b738c; } +fieldset.draw div.output { + background-color:#1b5b738c; +} diff --git a/plugin/story/spide.js b/plugin/story/spide.js index 9cb0c420..328b58fb 100644 --- a/plugin/story/spide.js +++ b/plugin/story/spide.js @@ -6,7 +6,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, can._tree = can.onimport._tree(can, msg.Table(), "path", "/") can.onmotion.clear(can) - can.onappend.plugins(can, {type: "inner draw drawer", index: "web.wiki.draw"}, function(sub) { + can.onappend.plugins(can, {type: "inner", index: "web.wiki.draw"}, function(sub) { sub.run = function(event, cmds, cb) { typeof cb == "function" && cb(sub.request()) can.core.Timer(100, function() { can.sub = sub._outputs[0] diff --git a/plugin/story/trend.js b/plugin/story/trend.js index 6f50e3e4..30179823 100644 --- a/plugin/story/trend.js +++ b/plugin/story/trend.js @@ -5,7 +5,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, can.Action("height", parseInt(msg.Option("height")||"400")) can.onmotion.clear(can) - can.onappend.plugins(can, {type: "inner draw drawer", index: "web.wiki.draw"}, function(sub) { + can.onappend.plugins(can, {type: "inner", index: "web.wiki.draw"}, function(sub) { sub.run = function(event, cmds, cb) { typeof cb == "function" && cb(sub.request()) can.core.Timer(100, function() { can.sub = sub._outputs[0] can.sub.onmotion.hidden(can.sub, can.sub.ui.project)