From 6e2b75f6ad6ff4d205e69175aabef0753db2a4a1 Mon Sep 17 00:00:00 2001 From: shaoying Date: Tue, 14 Jan 2020 21:15:29 +0800 Subject: [PATCH] opt stack --- frame.js | 1 + plugin/inner.js | 26 ++++++++++++++++++++------ style.css | 1 + 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/frame.js b/frame.js index 9bb67d39..8b29c14b 100644 --- a/frame.js +++ b/frame.js @@ -254,5 +254,6 @@ var can = Volcanos("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.Import(event||{}, "", "login") + can.user.Search(can, "you") && can.user.title(can.user.Search(can, "you")) }, document.body) }) diff --git a/plugin/inner.js b/plugin/inner.js index a867fef0..850a2be4 100644 --- a/plugin/inner.js +++ b/plugin/inner.js @@ -25,29 +25,43 @@ Volcanos("onimport", {help: "导入数据", list: [], can.page.Select(can, output, "div.stack", function(stack) {var data = stack.dataset||{}; function fold(stack) { 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) { + if (state.innerText == "o") {return} + can.page.ClassList.add(can, stack, "fold") + can.page.ClassList.del(can, stack, "span") state.innerText = ">" }) } function span(stack) { 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) { + if (state.innerText == "o") {return} + can.page.ClassList.add(can, stack, "span") + can.page.ClassList.del(can, stack, "fold") 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; - 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) { + case "red": + case "green": + case "blue": + mark(target, cmd) + break case "标记颜色": can.user.prompt("请输入颜色:", function(color) { - target.style.background = color; + mark(target, color) }) break + case "清除颜色": + mark(target, "") + break case "全部折叠": fold(stack), can.page.Select(can, stack.nextSibling, "div.stack", fold) break diff --git a/style.css b/style.css index b6cf087b..81a756ca 100644 --- a/style.css +++ b/style.css @@ -231,6 +231,7 @@ fieldset div.stack.fold { font-weight:bold; } fieldset ul.stack { + border:solid 2px #0000; margin:0px; } fieldset ul.stack:hover {