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) {
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)

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-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;
}

View File

@ -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)

View File

@ -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"], [])