From bf16642bd21ebfecd1eef4c1290d2643de706acf Mon Sep 17 00:00:00 2001 From: shylinux Date: Tue, 13 Apr 2021 14:40:03 +0800 Subject: [PATCH] opt onaction --- frame.js | 10 +++++----- plugin/table.js | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/frame.js b/frame.js index b6818846..a6f3fe8c 100644 --- a/frame.js +++ b/frame.js @@ -334,9 +334,9 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, table.onimport && table.onimport._init && table.onimport._init(table, msg, msg.result||[], function(msg) { can.page.Modify(can, can._action, ""), can.page.Modify(can, can._status, "") - table.onaction && table.onappend._action(table, msg._action||meta._action||table.onaction.list) - table.ondetail && table.onappend._detail(table, msg._detail||meta._detail||table.ondetail.list) - table.onexport && table.onappend._status(table, msg._export||meta._export||table.onexport.list) + table.onaction && table.onappend._action(table, can.base.Obj(msg.Option("_action"), meta._action||table.onaction.list)) + table.ondetail && table.onappend._detail(table, can.base.Obj(msg.Option("_detail"), meta._detail||table.ondetail.list)) + table.onexport && table.onappend._status(table, can.base.Obj(msg.Option("_status"), meta._export||table.onexport.list)) }, can._output) }) }) @@ -421,8 +421,8 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, }, table: function(can, msg, cb, target, sort) { var table = can.page.AppendTable(can, msg, target||can._output, msg.append, cb||function(value, key, index, line, array) { - if (key == "value") { key = line.key, line = {} - can.core.List(array, function(item, index) { line[item.key] = item.value }) + if (key == "value") { key = line.key||line.name, line = {} + can.core.List(array, function(item, index) { line[item.key||line.name] = item.value }) } return {type: "td", inner: value, onclick: function(event) { var target = event.target diff --git a/plugin/table.js b/plugin/table.js index ecd6560b..e644521b 100644 --- a/plugin/table.js +++ b/plugin/table.js @@ -7,25 +7,25 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, can.page.Append(can, target, [can.onimport._control(can, msg)]) can.onappend.table(can, msg, function(value, key, index, line, array) { - return can.onimport._table(can, value, key, index, line, array) + return can.onimport._table(can, value, key, index, line, array, cb) }) can.onappend.board(can, msg.Result()) can.onmotion.story(can, can._output) }, - _table: function(can, value, key, index, line, array) { + _table: function(can, value, key, index, line, array, cb) { return {text: [value, "td"], onclick: function(event) { var target = event.target if (target.tagName == "INPUT" && target.type == "button") { var msg = can.sup.request(event, can.Option()) key == "value"? can.core.List(array, function(item, index) { msg.Option(item.key, item.value) }): msg.Option(line) return can.run(event, ["action", target.name], function(msg) { can.run() }, true) } - if (can.sup.onaction.change(event, can.sup, key, value, function(msg) { can.onimport._init(can, msg) }).length > 0) { return } + if (can.sup.onaction.change(event, can.sup, key, value, function(msg) { can.onimport._init(can, msg, [], cb) }).length > 0) { return } }, ondblclick: function(event) { can.onmotion.modify(can, event.target, function(event, value, old) { var msg = can.sup.request(event, can.Option()); msg = can.sup.request(event, line) - can.run(event, ["action", "modify", key == "value"? line.key: key, value], function(msg) { }, true) + can.run(event, ["action", "modify", key == "value"? line.key||line.name: key, value], function(msg) { }, true) }) }} },