diff --git a/frame.js b/frame.js index 442178fc..41da991a 100644 --- a/frame.js +++ b/frame.js @@ -158,7 +158,12 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, if (meta.msg) { var msg = sub.request(); msg.Copy(can.base.Obj(meta.msg)), sub.onappend._output(sub, msg, msg.Option(ice.MSG_DISPLAY)||meta.feature.display) } can.page.Modify(can, sub._legend, kit.Dict(can.Conf("legend_event")||"onmouseenter", function(event) { - can.user.carte(event, sub, sub.onaction, sub.onaction.list.concat([["所有"].concat(can.core.Item(meta.feature._trans))])) + can.user.carte(event, sub, sub.onaction, sub.onaction.list.concat([["所有"].concat(can.core.Item(meta.feature._trans))]), function(event, item, meta) { + var cb = can.core.Value(sub, ["_outputs.-1.onaction", item]) + if (can.base.isFunc(cb)) { return cb(event, can.core.Value(sub, "_outputs.-1"), item) } + var cb = meta[item]||meta["_engine"] + if (can.base.isFunc(cb)) { return cb(event, sub, item) } + }) })), can.base.isFunc(cb) && cb(sub) }); return sub }, diff --git a/lib/user.js b/lib/user.js index db676d85..0f341a6b 100644 --- a/lib/user.js +++ b/lib/user.js @@ -199,7 +199,7 @@ Volcanos("user", {help: "用户操作", info: {}, agent: { can.misc.Log("copy", text) return text }, - carte: function(event, can, meta, list, cb, parent) { + carte: function(event, can, meta, list, cb, parent) { // event item meta meta = meta||can.ondetail||can.onaction||{}, list = list&&list.length > 0? list: meta.list||[]; if (list.length == 0) { return } cb = cb||function(event, item, meta) { var cb = meta[item]||meta["_engine"]; can.base.isFunc(cb) && cb(event, can, item) }