diff --git a/frame.js b/frame.js index 3cc53cb1..1e74aa87 100644 --- a/frame.js +++ b/frame.js @@ -162,6 +162,7 @@ var can = Volcanos("chat", { plugin.page.Select(can, option, ".args", function(item) {return item.value}) }, Report: function(event, value, key, index) { + key && plugin[key] && plugin[key].target && plugin[key].Import(event, value, key, index) for (var i = 0; i < exports.length; i += 3) { if (exports[i+1] == key) {key = exports[i] if (exports[i+2]) {var cb = plugin.onexport[exports[i+2]], res; @@ -170,7 +171,6 @@ var can = Volcanos("chat", { key && can.Import(event, value, key) } } - key && plugin[key] && plugin[key].target && plugin[key].Import(event, value, key, index) }, Check: function(event, target, cb) { plugin.page.Select(can, option, ".args", function(item, index, list) { diff --git a/lib/user.js b/lib/user.js index 7dac6f0c..7aa56ee9 100644 --- a/lib/user.js +++ b/lib/user.js @@ -13,8 +13,10 @@ Volcanos("user", {help: "用户模块", item: item.length > 0? item[0]: item.name || "", }]}, {type: "td", list: [typeof item == "string"? {input: item, data: {autofocus: true}}: - item.length > 0? {select: [item]}: item] - }, + item.length > 0? {select: [item]}: + item._input == "select"? {select: [[item.name].concat(item.values)], data: item}: + item._input? {type: "input", data: (item.type = item._input, item)}: item, + ]}, ]} })}, {view: "action", list: [{button: ["提交", function(event, value) { @@ -31,6 +33,9 @@ Volcanos("user", {help: "用户模块", } }]}]}, ]}]) + can.page.Select(can, view.first, "input", function(item, index) { + index == 0 && (item.setSelectionRange(0, -1), item.focus()) + }) return view }, toast: function(text) {}, diff --git a/pane/Carte.js b/pane/Carte.js index a1aacae5..715b019b 100644 --- a/pane/Carte.js +++ b/pane/Carte.js @@ -4,6 +4,13 @@ Volcanos("onimport", {help: "导入数据", list: [], output.innerHTML = "", can.page.Append(can, output, can.core.List(cb.list, function(item) { return {view: ["item"], list: [typeof item == "string"? {text: [item], click: function(event) { typeof cb == "function" && cb(event, item, cb.meta) + }}: item.args? {text: [item.name], click: function(event) { + can.user.input(event, can, item.args, function(event, cmd, form, list) { + var msg = can.Event(event); + can.core.Item(form, function(key, value) {msg.Option(key, value)}) + cmd == "提交" && typeof cb == "function" && cb(event, item.name, cb.meta) + return true + }) }}: {select: [item, function(event) { typeof cb == "function" && cb(event, event.target.value, cb.meta) }], value: src[item[0]]||""}]} diff --git a/plugin/table.js b/plugin/table.js index 636fb487..1d18adaa 100644 --- a/plugin/table.js +++ b/plugin/table.js @@ -23,7 +23,8 @@ Volcanos("onimport", {help: "导入数据", list: [], msg.append.forEach(function(key) {sub.Option(key, msg[key][index].trim())}) typeof cb == "function"? cb(event, can, msg, index, key, cmd, target): can.run(event, ["action", typeof cb == "string"? cb: cmd, key, target.innerHTML, id], function(msg) { - can.onimport.init(can, msg, cb, output, option) + can.user.toast(msg.Result()) + // can.onimport.init(can, msg, cb, output, option) }, true) })) })