mirror of
https://shylinux.com/x/volcanos
synced 2025-04-28 18:02:02 +08:00
add json
This commit is contained in:
parent
91cafdff6f
commit
d6c842461a
@ -200,6 +200,9 @@ Volcanos("base", {help: "数据类型",
|
|||||||
isNight: function() { var now = new Date()
|
isNight: function() { var now = new Date()
|
||||||
return now.getHours() < 7 || now.getHours() > 17
|
return now.getHours() < 7 || now.getHours() > 17
|
||||||
},
|
},
|
||||||
|
isArray: function(arg) {
|
||||||
|
return typeof arg == "object" && arg.length != undefined
|
||||||
|
},
|
||||||
isFunc: function(cb) {
|
isFunc: function(cb) {
|
||||||
return typeof cb == "function"
|
return typeof cb == "function"
|
||||||
},
|
},
|
||||||
|
12
plugin/local/wiki/json.css
Normal file
12
plugin/local/wiki/json.css
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
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;
|
||||||
|
}
|
||||||
|
div.node:hover {
|
||||||
|
border:solid 1px red;
|
||||||
|
}
|
56
plugin/local/wiki/json.js
Normal file
56
plugin/local/wiki/json.js
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
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: []})
|
||||||
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user