diff --git a/frame.js b/frame.js index f23572f5..8fcb7fa4 100644 --- a/frame.js +++ b/frame.js @@ -202,7 +202,7 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) { table.onimport._init(table, msg, msg.result||[], function() {}, output) table.run = function(event, cmds, cb, silent) { cmds = cmds || [] - sub.run(event, cmds, cb, silent) + run(event, cmds, cb, silent) } // 工具栏 @@ -305,11 +305,15 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) { // item.type == "select" && (target.value = item.value || item.values[item.index||0]); return target; }, - table: function(can, target, type, msg) { + table: function(can, target, type, msg, cb) { var table = can.page.AppendTable(can, target, msg, msg.append, function(event, value, key, index, tr, td) { can.page.Select(can, can._option, "input.args", function(input) { if (input.name == key) { var data = input.dataset || {} - input.value = value; if (data.action == "auto") { - can.run(event, [], function(msg) {}) + input.value = value; typeof cb == "function" && cb(event, value); if (data.action == "auto") { + var sub = can.request(event, can.Option()) + sub.Option("_action", msg.Option("_action")) + can.run(event, can.page.Select(can, can._option, "input.args", function(item) { + return item.name && item.value || "" + })) } } }) }, function(event, value, key, index, tr, td) { @@ -412,7 +416,7 @@ Volcanos("onappend", { _init: function(can, meta, list, cb, target, field) { } return ui }, - share: function(can, msg) { + share: function(can, msg, name, text) { can.run(msg._event, ["share"], function(msg) { var src = can.user.Share(can, {_path: "/share/"+msg.Result()}, true); var ui = can.onappend.toast(can, {title: can.page.Format("a", src, msg.Result()), text: can.page.Format("img", src+"/share"), diff --git a/pane/Action.js b/pane/Action.js index 759125e6..50c91c8e 100644 --- a/pane/Action.js +++ b/pane/Action.js @@ -10,6 +10,7 @@ Volcanos("ondetail", {help: "交互菜单", list: ["共享", "更名", "删除"] "共享": function(event, can, value, sub) { console.log(sub.Option()) var msg = sub.request(event) + msg.Option("pod", can.user.Search(can, "pod")) msg.Option("name", value.name) msg.Option("node", value.pod) msg.Option("group", value.group) diff --git a/plugin/inner.css b/plugin/inner.css index eb33f89c..9c57a72b 100644 --- a/plugin/inner.css +++ b/plugin/inner.css @@ -17,6 +17,7 @@ fieldset.editor>div.output { fieldset.editor>div.output>div.project { width:80px; overflow:auto; position:fixed; + min-height:240px; } fieldset.editor>div.output>div.profile { position:absolute; right:0; diff --git a/plugin/inner.js b/plugin/inner.js index df298958..61bc7910 100644 --- a/plugin/inner.js +++ b/plugin/inner.js @@ -1,4 +1,7 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, list, cb, target) { target.innerHTML = "" + if (msg.append&&msg.append["file"]) { + return + } if (can.user.Search(can, "share") && can.user.Search(can, "river") && can.user.Search(can, "storm")) { can.onaction.list = ["项目", "运行"] can.page.Modify(can, can._action, {style: {clear: "none"}}) @@ -10,7 +13,9 @@ Volcanos("onimport", {help: "导入数据", _init: function(can, msg, list, cb, var width = can.Conf("width"), height = can.Conf("height") can.page.Modify(can, target, {style: {"max-height": height-160+"px"}}) + // msg.key && (msg.key = msg.key.slice(2)) msg.Option("_action") != "查看" && msg.Option("_action") != "打开" && can.onappend.table(can, target, "table", msg) + can.ui = can.page.Append(can, target, [ {view: ["project", "div"], style: {width: "80px", "max-height": height-160+"px"}}, {view: ["profile", "div"]}, @@ -177,7 +182,7 @@ Volcanos("onsyntax", {help: "语法高亮", list: ["keyword", "prefix", "line"], "require": "keyword", }, prefix: {"#": "comment"}, - suffix: {"{": "comment"}, + suffix: {"&": "comment"}, line: function(can, line) { return line }, }, vim: { @@ -349,6 +354,11 @@ Volcanos("onsyntax", {help: "语法高亮", list: ["keyword", "prefix", "line"], } }, }, + jpg: { + keymap: { + }, + line: function(can, line) { return can.page.Format("img", "/share/local/"+line) } + }, }) Volcanos("onkeymap", {help: "键盘交互", list: ["command", "normal", "insert"], _init: function(can, mode) { can.page.Modify(can, can.ui.command, {style: {display: "none", width: can._target.offsetWidth-20+"px"}}) @@ -379,6 +389,7 @@ Volcanos("onkeymap", {help: "键盘交互", list: ["command", "normal", "insert" can.display = p && p.profile && can.ui.profile || can.ui.display var msg = can.request(event); msg.Option("content", can.onexport.content(can)) can.run(event, arg||["action", key, can.Option("path"), can.Option("name")], function(msg) { + // msg.key && (msg.key = msg.key.slice(2)) can.page.Modify(can, can.display, {innerHTML: "", style: {display: "block"}}) can.onappend.table(can, can.display, "table", msg) can.onappend.board(can, can.display, "board", msg) @@ -540,7 +551,7 @@ Volcanos("onkeymap", {help: "键盘交互", list: ["command", "normal", "insert" }, }, }) -Volcanos("onaction", {help: "控件交互", list: ["项目", "上传", "保存", "提交", "历史", "运行"], +Volcanos("onaction", {help: "控件交互", list: ["项目", "上传", "保存", "历史", "提交", "运行", "记录", "复盘"], modifyLine: function(can, target, value) { var p = can.onsyntax.parse(can, value) typeof p == "object"? can.page.Appends(can, target, [p]): target.innerHTML = p }, @@ -592,6 +603,10 @@ Volcanos("onaction", {help: "控件交互", list: ["项目", "上传", "保存", "提交": function(event, can, msg) { can.onkeymap._remote(event, can, "提交") }, "历史": function(event, can, msg) { can.onkeymap._remote(event, can, "历史") }, "运行": function(event, can, msg) { can.onkeymap._remote(event, can, "运行") }, + "记录": function(event, can, msg) { var sub = can.request(event, can.Option()); sub.Option("display", can.display.innerText) + can.onkeymap._remote(event, can, "记录", ["action", "记录"]) + }, + "复盘": function(event, can, msg) { can.onkeymap._remote(event, can, "复盘") }, }) Volcanos("ondetail", {help: "菜单交互", list: ["删除行", "合并行", "插入行", "添加行", "追加行"], "删除行": function(event, can, msg) { @@ -616,7 +631,7 @@ Volcanos("onlayout", {help: "页面布局", list: [], _init: function(can) { }, project: function(can) { var hide = can.ui.project.style.display == "none" - var width = 80, height = 320; + var width = 80, height = 480; can.page.Modify(can, can.ui.project, {style: {width: width, "max-height": height, display: hide? "": "none"}}) var style = {style: {