diff --git a/frame.js b/frame.js index af0d1a97..8ea88add 100644 --- a/frame.js +++ b/frame.js @@ -635,8 +635,8 @@ Volcanos("onmotion", {help: "动态特效", list: [], _init: function(can, targe }, }, - hidden: function(can, target) { - can.page.Modify(can, target||can._target, {style: {display: "none"}}) + hidden: function(can, target, show) { + can.page.Modify(can, target||can._target, {style: {display: show? "": "none"}}) }, toggle: function(can, target) { return can.onmotion.Toggle(can, target||can._target) diff --git a/plugin/local/wiki/json.css b/plugin/local/wiki/json.css index bab8ddbd..ae15dbb2 100644 --- a/plugin/local/wiki/json.css +++ b/plugin/local/wiki/json.css @@ -1,25 +1,25 @@ -fieldset.plugin.json div.output div.node div.node { +fieldset.plugin div.output div.node div.node { border:solid 1px #0000000d; border-left:dashed 1px lightblue; margin-left:5px; padding-left:15px; font-size:14px; font-family:monospace; cursor:pointer; } -fieldset.plugin.json div.output div.node div.node:hover { +fieldset.plugin div.output div.node div.node:hover { border:solid 1px red; } -fieldset.plugin.json div.output div.node span.nonce { +fieldset.plugin div.output div.node span.nonce { font-size:12px; font-family:auto; color:lightblue; cursor:pointer; } -fieldset.plugin.json div.output div.node span.key { +fieldset.plugin div.output div.node span.key { color:yellow; } -fieldset.plugin.json div.output div.node span.string { +fieldset.plugin div.output div.node span.string { color:magenta; } -fieldset.plugin.json div.output div.node span.const { - color:blue; +fieldset.plugin div.output div.node span.const { + color:cyan; } diff --git a/plugin/local/wiki/json.js b/plugin/local/wiki/json.js index 48489b31..56396630 100644 --- a/plugin/local/wiki/json.js +++ b/plugin/local/wiki/json.js @@ -1,17 +1,17 @@ -Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb) { - can.onmotion.clear(can) - can.onimport.data(can, can.base.Obj(msg.Result(), "{}"), can._output) +Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) { can.base.isFunc(cb) && cb(msg) + can.onimport.show(can, can.base.Obj(msg.Result(), "{}"), target) }, - data: function(can, data, target) { + show: function(can, data, target) { function show(data, target, index, total) { var list switch (typeof data) { case "object": + function toggle(list) { + list && can.onmotion.toggle(can, list) + } function wrap(begin, end, add, cb) { can.page.Append(can, target, [{text: begin}]) - add && can.page.Append(can, target, [{text: ["...", "span", "nonce"], onclick: function(event) { - list && can.onmotion.toggle(can, list) - }}]), cb() + add && can.page.Append(can, target, [{text: ["...", "span", "nonce"], onclick: function(event) { toggle(list) }}]), cb() can.page.Append(can, target, [{text: end}]) } function _node() { @@ -28,15 +28,12 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, // 对象 var length = can.core.Item(data).length, count = 0 wrap("{", "}", length > 0, function() { can.core.Item(data, function(key, value) { var node = _node() - can.page.Append(can, node, [{text: ['"'+key+'"', "span", "key"], onclick: function(event) { - sub && can.onmotion.toggle(can, sub) - }}, {text: ': '}]) + can.page.Append(can, node, [{text: ['"'+key+'"', "span", "key"], onclick: function(event) { toggle(sub) }}, {text: ': '}]) var sub = show(value, node, count++, length) }) }); break case "string": /* 字串 */ can.page.Append(can, target, [{text: ['"'+data+'"', "span", "string"]}]); break default: /* 其它 */ can.page.Append(can, target, [{text: [''+data+'', "span", "const"]}]) } - (index < total-1) && can.page.Append(can, target, [{text: ","}]) return list }; show(data, can.page.Append(can, target, [{view: "node"}]).node, 0, 0) diff --git a/plugin/state.js b/plugin/state.js index 8a57bde2..8e872002 100644 --- a/plugin/state.js +++ b/plugin/state.js @@ -7,6 +7,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, conf, }, _location: function(can, msg) { + // can.user.open(msg._arg[0]) location.href = msg._arg[0] }, _rewrite: function(can, msg) { can.Option(msg._arg[0], msg._arg[1]) @@ -20,6 +21,12 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, conf, }) return true }, + _display: function(can, msg) { + Volcanos("some", {}, [msg.Option("_display")].concat(Volcanos.meta.volcano, Volcanos.meta.libs), function(sub) { + sub.onimport._init(sub, msg, [], function() {}, can._output) + }) + return true + }, _field: function(can, msg) { msg.Table(function(item) { can.onappend._plugin(can, item, {arg: can.base.Obj(item["arg"], [])}, function(sub, meta) { var opt = can.base.Obj(item["opt"], [])