diff --git a/frame.js b/frame.js index 4f93ee39..14169523 100644 --- a/frame.js +++ b/frame.js @@ -191,7 +191,8 @@ var can = Volcanos("chat", { }, Delete: function(event) {field.parentNode.removeChild(field)}, }, Config.libs.concat(["plugin/"+(meta.type||"state")]), function(plugin) {plugin.Conf(meta); - can.core.Next(JSON.parse(meta.inputs||"[]"), plugin.Append) + var list = JSON.parse(meta.inputs||"[]"); + can.core.Next(list.length>0? list: [{type: "text"}, {type: "button", value: "执行"}], plugin.Append) }, meta) return plugin }), diff --git a/lib/page.js b/lib/page.js index 96759351..096e1f13 100644 --- a/lib/page.js +++ b/lib/page.js @@ -178,7 +178,11 @@ Volcanos("page", {help: "网页模块", AppendTable: shy("添加表格", function(can, target, msg, list, cb, cbs) { var table = can.page.Append(can, target, "table"); var tr = can.page.Append(can, table, "tr"); - can.core.List(list, function(key) {can.page.Append(can, tr, "th", key)}); + can.core.List(list, function(key, index) {can.page.Append(can, tr, "th", key).onclick = function(event) { + var dataset = event.target.dataset; + dataset["sort_asc"] = (dataset["sort_asc"] == "1") ? 0: 1; + can.page.RangeTable(can, table, index, dataset["sort_asc"] == "1"); + }}); can.page.Append(can, table, can.core.List(msg.Table(), function(line, index) { return {type: "tr", list: can.core.List(list, function(key) {var cbcb, cbcbs; diff --git a/pane/Steam.js b/pane/Steam.js index 4c5a1883..85237697 100644 --- a/pane/Steam.js +++ b/pane/Steam.js @@ -33,7 +33,7 @@ Volcanos("onimport", {help: "导入数据", list: [], var node = msg.node[index]; can.run(event, [can.Conf("river"), msg.user[index], node], function(com) { can.page.Appends(can, can.device, [{text: ["2. 选择模块命令 ->", "caption"]}]) - can.page.AppendTable(can, can.device, com, ["key", "index", "name", "help"], function(event, value, key, index, tr, td) { + var table = can.page.AppendTable(can, can.device, com, ["key", "index", "name", "help"], function(event, value, key, index, tr, td) { var last = can.page.Append(can, can.ui.list, [{ row: [com.key[index], com.index[index], com.name[index], com.help[index]], diff --git a/plugin/input.js b/plugin/input.js index d82ab933..ccb859c4 100644 --- a/plugin/input.js +++ b/plugin/input.js @@ -27,7 +27,7 @@ Volcanos("onimport", {help: "导入数据", list: [], }) var target = can.Dream(option, "input", input)[input.name]; - (item.type == "text" || item.type == "textarea") && !target.placeholder && (target.placeholder = item.name); + (item.type == "text" || item.type == "textarea") && !target.placeholder && (target.placeholder = item.name || ""); item.type == "text" && !target.title && (target.title = item.placeholder || item.name || ""); item.type == "button" && item.action == "auto" && can.run && can.run({}); return target; diff --git a/plugin/table.js b/plugin/table.js index f3ad2a77..3bd2b7d7 100644 --- a/plugin/table.js +++ b/plugin/table.js @@ -14,11 +14,6 @@ Volcanos("onimport", {help: "导入数据", list: [], }) break case "TH": - var index = 0; - can.page.Select(can, table, "th", function(item, i) {if (item == event.target) {index = i}}) - var dataset = event.target.dataset - dataset["sort_asc"] = (dataset["sort_asc"] == "1") ? 0: 1 - can.page.RangeTable(can, table, index, dataset["sort_asc"] == "1") break case "TR": case "TABLE":