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

opt stack

This commit is contained in:
shaoying 2020-01-14 21:15:29 +08:00
parent 34802bc626
commit 6e2b75f6ad
3 changed files with 22 additions and 6 deletions

View File

@ -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)
}) })

View File

@ -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.ClassList.add(can, stack, "fold")
can.page.ClassList.del(can, stack, "span")
can.page.Select(can, stack, "span.state", function(state) { can.page.Select(can, stack, "span.state", function(state) {
if (state.innerText == "o") {return}
can.page.ClassList.add(can, stack, "fold")
can.page.ClassList.del(can, stack, "span")
state.innerText = ">" state.innerText = ">"
}) })
} }
function span(stack) { function span(stack) {
stack.nextSibling && (stack.nextSibling.style.display = "") stack.nextSibling && (stack.nextSibling.style.display = "")
can.page.ClassList.add(can, stack, "span")
can.page.ClassList.del(can, stack, "fold")
can.page.Select(can, stack, "span.state", function(state) { can.page.Select(can, stack, "span.state", function(state) {
if (state.innerText == "o") {return}
can.page.ClassList.add(can, stack, "span")
can.page.ClassList.del(can, stack, "fold")
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

View File

@ -231,6 +231,7 @@ fieldset div.stack.fold {
font-weight:bold; font-weight:bold;
} }
fieldset ul.stack { fieldset ul.stack {
border:solid 2px #0000;
margin:0px; margin:0px;
} }
fieldset ul.stack:hover { fieldset ul.stack:hover {