1
0
forked from x/volcanos
This commit is contained in:
harveyshao 2021-08-04 21:16:43 +08:00
parent 278890517c
commit 34f5b87940
4 changed files with 24 additions and 20 deletions

View File

@ -635,8 +635,8 @@ Volcanos("onmotion", {help: "动态特效", list: [], _init: function(can, targe
}, },
}, },
hidden: function(can, target) { hidden: function(can, target, show) {
can.page.Modify(can, target||can._target, {style: {display: "none"}}) can.page.Modify(can, target||can._target, {style: {display: show? "": "none"}})
}, },
toggle: function(can, target) { toggle: function(can, target) {
return can.onmotion.Toggle(can, target||can._target) return can.onmotion.Toggle(can, target||can._target)

View File

@ -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:solid 1px #0000000d;
border-left:dashed 1px lightblue; border-left:dashed 1px lightblue;
margin-left:5px; padding-left:15px; margin-left:5px; padding-left:15px;
font-size:14px; font-family:monospace; font-size:14px; font-family:monospace;
cursor:pointer; 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; 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; font-size:12px; font-family:auto;
color:lightblue; color:lightblue;
cursor:pointer; cursor:pointer;
} }
fieldset.plugin.json div.output div.node span.key { fieldset.plugin div.output div.node span.key {
color:yellow; color:yellow;
} }
fieldset.plugin.json div.output div.node span.string { fieldset.plugin div.output div.node span.string {
color:magenta; color:magenta;
} }
fieldset.plugin.json div.output div.node span.const { fieldset.plugin div.output div.node span.const {
color:blue; color:cyan;
} }

View File

@ -1,17 +1,17 @@
Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb) { Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb, target) {
can.onmotion.clear(can)
can.onimport.data(can, can.base.Obj(msg.Result(), "{}"), can._output)
can.base.isFunc(cb) && cb(msg) 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 function show(data, target, index, total) { var list
switch (typeof data) { switch (typeof data) {
case "object": case "object":
function toggle(list) {
list && can.onmotion.toggle(can, list)
}
function wrap(begin, end, add, cb) { function wrap(begin, end, add, cb) {
can.page.Append(can, target, [{text: begin}]) can.page.Append(can, target, [{text: begin}])
add && can.page.Append(can, target, [{text: ["...", "span", "nonce"], onclick: function(event) { add && can.page.Append(can, target, [{text: ["...", "span", "nonce"], onclick: function(event) { toggle(list) }}]), cb()
list && can.onmotion.toggle(can, list)
}}]), cb()
can.page.Append(can, target, [{text: end}]) can.page.Append(can, target, [{text: end}])
} }
function _node() { function _node() {
@ -28,15 +28,12 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg,
// 对象 // 对象
var length = can.core.Item(data).length, count = 0 var length = can.core.Item(data).length, count = 0
wrap("{", "}", length > 0, function() { can.core.Item(data, function(key, value) { var node = _node() 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) { can.page.Append(can, node, [{text: ['"'+key+'"', "span", "key"], onclick: function(event) { toggle(sub) }}, {text: ': '}])
sub && can.onmotion.toggle(can, sub)
}}, {text: ': '}])
var sub = show(value, node, count++, length) var sub = show(value, node, count++, length)
}) }); break }) }); break
case "string": /* 字串 */ can.page.Append(can, target, [{text: ['"'+data+'"', "span", "string"]}]); break case "string": /* 字串 */ can.page.Append(can, target, [{text: ['"'+data+'"', "span", "string"]}]); break
default: /* 其它 */ can.page.Append(can, target, [{text: [''+data+'', "span", "const"]}]) default: /* 其它 */ can.page.Append(can, target, [{text: [''+data+'', "span", "const"]}])
} }
(index < total-1) && can.page.Append(can, target, [{text: ","}]) (index < total-1) && can.page.Append(can, target, [{text: ","}])
return list return list
}; show(data, can.page.Append(can, target, [{view: "node"}]).node, 0, 0) }; show(data, can.page.Append(can, target, [{view: "node"}]).node, 0, 0)

View File

@ -7,6 +7,7 @@ Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, conf,
}, },
_location: function(can, msg) { _location: function(can, msg) {
// can.user.open(msg._arg[0])
location.href = msg._arg[0] location.href = msg._arg[0]
}, },
_rewrite: function(can, msg) { can.Option(msg._arg[0], msg._arg[1]) _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 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) { _field: function(can, msg) {
msg.Table(function(item) { can.onappend._plugin(can, item, {arg: can.base.Obj(item["arg"], [])}, function(sub, meta) { 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"], []) var opt = can.base.Obj(item["opt"], [])