mirror of
https://shylinux.com/x/volcanos
synced 2025-04-25 16:58:06 +08:00
opt stack
This commit is contained in:
parent
34802bc626
commit
6e2b75f6ad
1
frame.js
1
frame.js
@ -254,5 +254,6 @@ var can = Volcanos("chat", {
|
|||||||
can[Config.main] = can.Page(can, Config.main, Config, function(chat) {
|
can[Config.main] = can.Page(can, Config.main, Config, function(chat) {
|
||||||
chat.Login.Export(event||{}, can.user.Search(can, "layout")||Config.layout.def, "layout")
|
chat.Login.Export(event||{}, can.user.Search(can, "layout")||Config.layout.def, "layout")
|
||||||
chat.Login.Import(event||{}, "", "login")
|
chat.Login.Import(event||{}, "", "login")
|
||||||
|
can.user.Search(can, "you") && can.user.title(can.user.Search(can, "you"))
|
||||||
}, document.body)
|
}, document.body)
|
||||||
})
|
})
|
||||||
|
@ -25,29 +25,43 @@ Volcanos("onimport", {help: "导入数据", list: [],
|
|||||||
can.page.Select(can, output, "div.stack", function(stack) {var data = stack.dataset||{};
|
can.page.Select(can, output, "div.stack", function(stack) {var data = stack.dataset||{};
|
||||||
function fold(stack) {
|
function fold(stack) {
|
||||||
stack.nextSibling && (stack.nextSibling.style.display = "none")
|
stack.nextSibling && (stack.nextSibling.style.display = "none")
|
||||||
|
can.page.Select(can, stack, "span.state", function(state) {
|
||||||
|
if (state.innerText == "o") {return}
|
||||||
can.page.ClassList.add(can, stack, "fold")
|
can.page.ClassList.add(can, stack, "fold")
|
||||||
can.page.ClassList.del(can, stack, "span")
|
can.page.ClassList.del(can, stack, "span")
|
||||||
can.page.Select(can, stack, "span.state", function(state) {
|
|
||||||
state.innerText = ">"
|
state.innerText = ">"
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
function span(stack) {
|
function span(stack) {
|
||||||
stack.nextSibling && (stack.nextSibling.style.display = "")
|
stack.nextSibling && (stack.nextSibling.style.display = "")
|
||||||
|
can.page.Select(can, stack, "span.state", function(state) {
|
||||||
|
if (state.innerText == "o") {return}
|
||||||
can.page.ClassList.add(can, stack, "span")
|
can.page.ClassList.add(can, stack, "span")
|
||||||
can.page.ClassList.del(can, stack, "fold")
|
can.page.ClassList.del(can, stack, "fold")
|
||||||
can.page.Select(can, stack, "span.state", function(state) {
|
|
||||||
state.innerText = "v"
|
state.innerText = "v"
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
function mark(stack, color) {
|
||||||
|
stack.style.background = color;
|
||||||
|
stack.style.color = color == ""? "": "white";
|
||||||
|
}
|
||||||
|
|
||||||
stack.oncontextmenu = function(event) {var detail = can.feature.detail || can.ondetail.list, target = event.target;
|
stack.oncontextmenu = function(event) {var detail = can.feature.detail || can.ondetail.list, target = event.target;
|
||||||
can.user.carte(event, shy("", can.ondetail, ["全部折叠", "全部展开", "标记颜色"], function(event, cmd, meta) {var cb = meta[cmd];
|
can.user.carte(event, shy("", can.ondetail, ["全部折叠", "全部展开", "标记颜色", "清除颜色", "red", "green", "blue"], function(event, cmd, meta) {var cb = meta[cmd];
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
|
case "red":
|
||||||
|
case "green":
|
||||||
|
case "blue":
|
||||||
|
mark(target, cmd)
|
||||||
|
break
|
||||||
case "标记颜色":
|
case "标记颜色":
|
||||||
can.user.prompt("请输入颜色:", function(color) {
|
can.user.prompt("请输入颜色:", function(color) {
|
||||||
target.style.background = color;
|
mark(target, color)
|
||||||
})
|
})
|
||||||
break
|
break
|
||||||
|
case "清除颜色":
|
||||||
|
mark(target, "")
|
||||||
|
break
|
||||||
case "全部折叠":
|
case "全部折叠":
|
||||||
fold(stack), can.page.Select(can, stack.nextSibling, "div.stack", fold)
|
fold(stack), can.page.Select(can, stack.nextSibling, "div.stack", fold)
|
||||||
break
|
break
|
||||||
|
Loading…
x
Reference in New Issue
Block a user