1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-26 17:24:06 +08:00
2021-08-04 00:21:08 +08:00

57 lines
2.3 KiB
JavaScript

Volcanos("onimport", {help: "导入数据", list: [], _init: function(can, msg, list, cb) {
can.base.isFunc(cb) && cb(msg)
function show(data, target) { var node
switch (typeof data) {
case "object": break
case "string": can.page.Append(can, target, [{text: '"'+data+'"'}]); return
default: can.page.Append(can, target, [{text: ''+data+''}]); return
}
if (can.base.isArray(data)) {
can.page.Append(can, target, [{text: "["}])
can.core.List(data, function(value, index) {
node = node || can.page.Append(can, target, [{view: "node"}]).node
sub = show(value, node);
(index < data.length-1) && can.page.Append(can, node, [{text: ","}])
can.page.Append(can, node, [{type: "br"}])
})
can.page.Append(can, target, [{text: "]"}])
return node
}
can.page.Append(can, target, [{text: "{"}])
var total = can.core.Item(data).length, count = 0
can.core.Item(data, function(key, value) { var sub
node = node || can.page.Append(can, target, [{view: "node"}]).node
can.page.Append(can, node, [{text: '"'+key+'": ', onclick: function(event) {
sub && can.onmotion.toggle(can, sub)
}}])
sub = show(value, node);
(++count < total) && can.page.Append(can, node, [{text: ","}])
can.page.Append(can, node, [{type: "br"}])
})
can.page.Append(can, target, [{text: "}"}])
return node
}
show(JSON.parse(msg.Result()), can._output)
},
}, ["/plugin/local/wiki/json.css"])
Volcanos("onaction", {help: "组件菜单", list: ["全部展开", "全部折叠"],
"全部展开": function(event, can) {
can.page.Select(can, can._output, "div.node div.node", function(node) {
can.page.Modify(can, node, {style: {display: "block"}})
})
},
"全部折叠": function(event, can) {
can.page.Select(can, can._output, "div.node div.node", function(node) {
can.page.Modify(can, node, {style: {display: "none"}})
})
},
})
Volcanos("onexport", {help: "导出数据", list: []})