diff --git a/frame.js b/frame.js index 974c0f98..45224651 100644 --- a/frame.js +++ b/frame.js @@ -48,8 +48,8 @@ Volcanos("onaction", { }, }) Volcanos("onappend", { - _init: function(can, meta, list, cb, target) { - var field = can.onappend.field(can, target, meta.type||"plugin", meta); + _init: function(can, meta, list, cb, target, field) { + field = field || can.onappend.field(can, target, meta.type||"plugin", meta); var option = can.page.Select(can, field, "form.option")[0]; var action = can.page.Select(can, field, "div.action")[0]; var output = can.page.Select(can, field, "div.output")[0]; @@ -67,7 +67,7 @@ Volcanos("onappend", { var args = can.base.Obj(meta.args, []) can.core.Next(can.base.Obj(meta.inputs, []), function(item, next, index) { sub[item.name] = Volcanos(item.name, { _help: item.name, - _target: can.onappend.input(sub, option, item.type, item), + _target: can.onappend.input(sub, option, item.type, item, args[index]), _option: option, _action: action, _output: output, }, Config.libs.concat([item.display||"plugin/input.js"]), function(input) { input.onimport._init(input, input.Conf(item), item.list||[], function() { @@ -149,7 +149,7 @@ Volcanos("onappend", { ]}]).first; return field.Meta = item, field; }, - input: function(can, option, type, item, cb) { + input: function(can, option, type, item, value) { item.name && item.name.indexOf("@") == 0 && (item.name = item.name.slice(1)) && (item.position = item.position || "opts") item.figure = item.figure || item.value || ""; item.action = item.action || item.value || ""; @@ -177,17 +177,18 @@ Volcanos("onappend", { case "password": // no break case "text": + item.value = value || item.value || "" item.className || can.page.ClassList.add(can, item, item.position||"args"); item.autocomplete = "off"; break } item.value == "auto" && (item.value = "") + item.action == "auto" && (input.dataset.action = "auto") var target = can.page.Append(can, option, [{view: ["item "+item.type], list: [item.position && {text: item.name+": "}, input]}]).last item.figure && item.figure.indexOf("@") == 0 && (item.figure = item.figure.slice(1)) && can.require(["plugin/input/"+item.figure], function() { target.type != "button" && (target.value = "") }) - item.action == "auto" && (input.dataset.action = "auto") item.type == "textarea" && can.page.Append(can, option, [{type: "br"}]); item.type == "text" && !target.placeholder && (target.placeholder = item.name || ""); diff --git a/pane/Action.js b/pane/Action.js index 6a240f10..1cdf6690 100644 --- a/pane/Action.js +++ b/pane/Action.js @@ -19,6 +19,8 @@ Volcanos("onexport", {help: "导出数据", list: [], if (can.Conf(key, msg.Option(key, can.Cache(river+"."+storm, can._output)))) { typeof cb == "function" && cb(msg); return } + + var pod = can.user.Search(can, "pod") msg = can.request({}, {}), can.run(msg._event, [river, storm], function(msg) { can._output.innerHTML = ""; if (Volcanos.meta.follow[can._root]) { debugger } msg.Table(function(value, index, array) { @@ -26,6 +28,8 @@ Volcanos("onexport", {help: "导出数据", list: [], can.onappend._init(can, value, Config.libs.concat(["plugin/state.js"]), function(sub) { // 插件回调 sub.run = function(event, cmds, cb, silent) { + var msg = can.request(event) + pod && msg.Option("pod", pod) can.run(event, [river, storm, index].concat(cmds), cb, silent) } }, can._output) diff --git a/plugin/local/wiki/word.css b/plugin/local/wiki/word.css index c13b4646..81fb99f2 100644 --- a/plugin/local/wiki/word.css +++ b/plugin/local/wiki/word.css @@ -1,5 +1,6 @@ fieldset.story { clear:both; + margin:5px; } fieldset.float { float:left; diff --git a/plugin/local/wiki/word.js b/plugin/local/wiki/word.js index dd7db39e..cd5c10c7 100644 --- a/plugin/local/wiki/word.js +++ b/plugin/local/wiki/word.js @@ -17,11 +17,12 @@ Volcanos("onimport", {help: "导入数据", list: [], can._output.innerHTML = msg.Result() can.page.Select(can, can._output, "fieldset.story", function(item) {var data = item.dataset - can.onappend._init(can, JSON.parse(data.meta||"{}"), Config.libs.concat(["plugin/state.js"]), function(sub) { + var meta = JSON.parse(data.meta||"{}") + can.onappend._init(can, meta, Config.libs.concat(["plugin/state.js"]), function(sub) { sub.run = function(event, cmds, cb, silent) { can.run(event, ["field", "action", "story", data.type, data.name, data.text].concat(cmds), cb, silent) } - }, item) + }, can._output, item) }) return typeof cb == "function" && cb(msg) },