1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 08:48:06 +08:00
volcanos/table.js
2019-12-07 20:22:40 +08:00

65 lines
2.4 KiB
JavaScript

Volcanos("onimport", {
init: function(can, msg, cb, target, option) {target.innerHTML = ""
var table = can.node.AppendTable(can, target, msg, msg.append)
table.onclick = function(event) {
switch (event.target.tagName) {
case "TD":
can.onimport.which(event, table, msg.append, function(index, key) {
can.onexport.init(event, can, msg, index, key)
})
break
case "TH":
case "TR":
case "TABLE":
}
}
table.oncontextmenu = function(event) {
switch (event.target.tagName) {
case "TD":
can.onimport.which(event, table, msg.append, function(index, key) {
can.oncarte(event, shy("", can.ondetail, can.ondetail.list, function(event, value, meta) {
meta[value](event, can, msg, index, key, value)
}))
})
case "TH":
case "TR":
case "TABLE":
can.oncarte(event, shy("", can.onchoice, can.onchoice.list, function(event, value, meta) {
meta[value](event, can, msg, value)
}))
}
event.stopPropagation()
event.preventDefault()
}
typeof cb == "function" && cb(msg);
},
which: function(event, table, list, cb) {if (event.target == table) {return cb(-1, "")}
can.node.Select(table, "tr", can.core.List, function(tr, index) {if (event.target == tr) {return cb(index, "")}
can.node.Select(tr, "th,td", can.core.List, function(td, order) {
if (event.target == td) {return cb(index, list[order])}
})
})
},
})
Volcanos("onaction", {list: [],
onmouseover: function(event, can, msg, cb, target, option) {
msg.Log(event, can, msg, index, key)
},
})
Volcanos("onchoice", {list: ["copy", "复制", "下载"],
copy: function(event, can, msg, value) {
can.Log(event, can, msg, value)
},
})
Volcanos("ondetail", {list: ["copy", "复制", "下载"],
copy: function(event, can, msg, index, key, value) {
can.Log(event, can, msg, index, key, value)
},
})
Volcanos("onexport", {list: ["复制", "下载"],
init: function(event, can, msg, index, key) {
can.Log(event, can, msg, index, key)
},
})