diff --git a/frame.js b/frame.js index 4febaed1..096afe29 100644 --- a/frame.js +++ b/frame.js @@ -155,7 +155,7 @@ Volcanos("onappend", {help: "渲染引擎", list: [], _init: function(can, meta, sub.page.Modify(sub, sub._legend, { onmouseenter: function(event) { - sub.user.carte(event, sub, sub.onaction, sub.onaction.list) + sub.user.carte(event, sub, sub.onaction, sub.onaction.list.concat([["所有 ->"].concat(can.core.Item(meta.feature.trans))])) }, }) @@ -562,6 +562,7 @@ Volcanos("onmotion", {help: "动态特效", list: [], _init: function(can, targe }, clear: function(can, target) { can.page.Modify(can, target||can._output, "") + return true }, focus: function(can, target) { target.setSelectionRange(0, -1), target.focus() diff --git a/lib/misc.js b/lib/misc.js index d5d9ff67..0e61450a 100644 --- a/lib/misc.js +++ b/lib/misc.js @@ -1,5 +1,7 @@ Volcanos("misc", {help: "通信协议", Message: function(event, can) { var msg = {} var proto = {_event: event, _can: can, + OptionStatus: function() { return msg.Option("_status") }, + OptionProcess: function() { return msg.Option("_process") }, Option: function(key, val) { if (key == undefined) { return msg && msg.option || [] } if (typeof key == "object") { can.core.Item(key, msg.Option) } diff --git a/lib/user.js b/lib/user.js index 8ab28c02..967b6c5a 100644 --- a/lib/user.js +++ b/lib/user.js @@ -142,7 +142,7 @@ Volcanos("user", {help: "用户操作", agent: { }, carte: function(event, can, meta, list, cb, parent) { 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]; can.base.isFunc(cb) && cb(event, can, item) } + cb = cb||function(event, item, meta) { var cb = meta[item]||meta["_engine"]; can.base.isFunc(cb) && cb(event, can, item) } var ui = can.page.Append(can, document.body, [{view: "carte", style: {left: 0, top: 0}, onmouseleave: function(event) { // can.page.Remove(can, ui._target) diff --git a/page/index.css b/page/index.css index c083a2fb..12b1eced 100644 --- a/page/index.css +++ b/page/index.css @@ -350,6 +350,12 @@ div.story[data-type=spark] span:hover { cursor:copy; } +fieldset>form.option { + float:left; +} +fieldset>div.action { + float:left; +} fieldset>form.option>div.item { float:left; margin-right:3px; min-height:25px; vertical-align:middle; @@ -471,6 +477,7 @@ fieldset>div.output div.project div.item { fieldset>div.output div.project div.item:hover { background-color:red; } + fieldset>div.output div.project div.item.select { background-color:red; } diff --git a/plugin/state.js b/plugin/state.js index 732798d3..51d089c1 100644 --- a/plugin/state.js +++ b/plugin/state.js @@ -1,6 +1,9 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, conf, list, cb, target) { }, - _process: function(can, msg) { return can.core.CallFunc([can.onimport, msg.Option("_process")], [can, msg]) }, + _process: function(can, msg) { + msg.OptionStatus() && can.onmotion.clear(can, can._status) && can.onappend._status(can, can.base.Obj(msg.OptionStatus())) + return can.core.CallFunc([can.onimport, msg.OptionProcess()], [can, msg]) + }, _rewrite: function(can, msg, _arg) { can.Option(msg._arg[0], msg._arg[1]) can.onappend._output(can, can.Conf(), {}, can.Pack()) @@ -62,9 +65,12 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, conf, }, }) Volcanos("onaction", {help: "交互操作", list: [ - "保存参数", "清空参数", "共享工具", "删除工具", "刷新数据", "清空数据", ["其它 ->", "复制数据", "下载数据"], + "保存参数", "清空参数", "共享工具", "刷新数据", ["其它 ->", "删除工具", "清空数据", "复制数据", "下载数据"], ], _init: function(can, msg, list, cb, target) { }, + _engine: function(event, can, button) { + can.onappend._output(can, can.Conf(), event, ["action", button].concat(can.Pack([], true))) + }, "保存参数": function(event, can) { var meta = can.Conf() var msg = can.request(event, {river: can.Conf("river"), storm: can.Conf("storm"), id: meta.id}) can.search(event, ["River.ondetail.保存参数"], function(msg) {