1
0
mirror of https://shylinux.com/x/volcanos synced 2025-04-25 08:48:06 +08:00

opt table

This commit is contained in:
shaoying 2020-01-09 10:02:05 +08:00
parent 806298238c
commit 63a48dcd8a
2 changed files with 12 additions and 47 deletions

View File

@ -1,14 +1,17 @@
Volcanos("onimport", {help: "导入数据", list: [],
init: function(can, msg, cb, output, option) {output.innerHTML = msg.Result();
can.page.Select(can, output, "table", function(table) {
can.page.OrderTable(can, table)
})
can.page.Select(can, output, "table", function(table) {can.page.OrderTable(can, table)})
can.page.Select(can, output, ".story", function(story) {var data = story.dataset||{};
story.oncontextmenu = function(event) {
can.user.carte(event, shy("", can.ondetail, can.feature.detail || can.ondetail.list, function(event, cmd, meta) {var cb = meta[cmd];
story.oncontextmenu = function(event) {var detail = can.feature.detail || can.ondetail.list;
switch (data.type) {
case "shell":
detail = ["运行"]
}
can.user.carte(event, shy("", can.ondetail, detail, function(event, cmd, meta) {var cb = meta[cmd];
typeof cb == "function"? cb(event, can, msg, cmd, story):
can.run(event, ["story", typeof cb == "string"? cb: cmd, data.type, data.name, data.text], function(msg) {
var timer = msg.Result()? can.user.toast(msg.Result()): can.user.toast({
duration: -1, text: cmd, width: 800, height: 400,
list: [{type: "table", list: [{row: msg.append, sub: "th"}].concat(msg.Table(function(line, index) {
@ -19,47 +22,13 @@ Volcanos("onimport", {help: "导入数据", list: [],
}))
}
})
return
can.page.Select(can, output, "ul.premenu", function(pre) {
can.page.Select(can, output, "ul.endmenu", function(end) {
can.page.CopySub(can, pre, end)
})
})
can.page.Select(can, output, "svg", function(svg) {
svg.onclick = function(event) {var item = event.target;
switch (event.target.tagName) {
case "text":
can.user.toast(can.page.CopyText(can, item.innerHTML), "复制成功")
break
case "rect":
break
}
}
svg.oncontextmenu = function(event) {var item = event.target;
switch (event.target.tagName) {
case "text":
can.user.carte(event, shy("", can.ondetail, can.ondetail.list, function(event, key, meta) {cb = meta[key];
typeof cb == "function"? cb(event, can, msg, key, item, svg):
can.run(event, [typeof cb == "string"? cb: key, item], null, true)
}))
break
case "rect":
can.user.carte(event, shy("", can.ondetail, can.ondetail.list, function(event, key, meta) {cb = meta[key];
typeof cb == "function"? cb(event, can, msg, key, item, svg):
can.run(event, [typeof cb == "string"? cb: key, item], null, true)
}))
break
}
}
})
},
favor: function(event, can, msg, cmd, output) {var key = msg.detail[0];
var cb = can.onaction[key]; if (typeof cb == "function") {cb(event, can, msg, cmd, output); return msg.Echo(can._name, " onaction ", key), msg._hand = true}
var cb = can.onchoice[key]; if (typeof cb == "function") {cb(event, can, msg, cmd, output); return msg.Echo(can._name, " onchoice ", key), msg._hand = true}
},
})
Volcanos("onaction", {help: "组件交互", list: [],
})
Volcanos("onaction", {help: "组件交互", list: []})
Volcanos("onchoice", {help: "组件菜单", list: ["返回", "清空", "复制", "下载", "表格", "绘图", "媒体"],
"返回": function(event, can, msg, key, target) {
can.run(event, ["", "Last"])
@ -76,13 +45,7 @@ Volcanos("onchoice", {help: "组件菜单", list: ["返回", "清空", "复制",
can.page.Download(can, list[0]+list[1], list[2]);
},
})
Volcanos("ondetail", {help: "组件详情", list: ["选择", "修改", "复制"],
"选择": "select",
"删除": "delete",
"复制": function(event, can, msg, cmd, target) {
can.user.toast(can.page.CopyText(can, svg.innerHTML), "复制成功")
},
})
Volcanos("ondetail", {help: "组件详情", list: []})
Volcanos("onexport", {help: "导出数据", list: []})

View File

@ -24,6 +24,8 @@ Volcanos("onimport", {help: "导入数据", list: [],
can.onimport.which(event, table, msg.append, function(index, key) {
can.user.carte(event, shy("", can.ondetail, can.feature.detail || can.ondetail.list, function(event, cmd, meta) {var cb = meta[cmd];
var id = msg.Ids(index);
var sub = can.Event(event);
msg.append.forEach(function(key) {sub.Option(key, msg[key][index].trim())})
typeof cb == "function"? cb(event, can, msg, index, key, cmd, target):
can.run(event, [id, typeof cb == "string"? cb: cmd, key, target.innerHTML], function(msg) {
can.onimport.init(can, msg, cb, output, option)