feat(dnfs): 用户面板增加系统节点显隐开关,localStorage 持久化
This commit is contained in:
1 parent
52c6248e2b
commit
f1d6e9ceb4
1 file changed
+22
-3
+22
-3
@@ -476,6 +476,10 @@ function renderContent(container, item) {
|
|||||||
var sp_effects_disabled = (function() {
|
var sp_effects_disabled = (function() {
|
||||||
try { return localStorage.getItem('sp_effects_disabled') === '1'; } catch (e) { return false; }
|
try { return localStorage.getItem('sp_effects_disabled') === '1'; } catch (e) { return false; }
|
||||||
})();
|
})();
|
||||||
|
/* __ 隐藏节点可见:true 时 __ 前缀节点正常显示(用户面板开关控制,localStorage 持久化) */
|
||||||
|
var __show_hidden = (function() {
|
||||||
|
try { return localStorage.getItem('dnfs_show_hidden') === '1'; } catch (e) { return false; }
|
||||||
|
})();
|
||||||
/* 清除当前页面已运行的全部特效沙箱与注入样式(进入新节点 / 关闭特效时调用) */
|
/* 清除当前页面已运行的全部特效沙箱与注入样式(进入新节点 / 关闭特效时调用) */
|
||||||
function clearAllEffects() {
|
function clearAllEffects() {
|
||||||
document.querySelectorAll('.sp-effect-frame').forEach(function(f) { f.remove(); });
|
document.querySelectorAll('.sp-effect-frame').forEach(function(f) { f.remove(); });
|
||||||
@@ -1067,8 +1071,7 @@ function renderCards(list) {
|
|||||||
for (let i in list) {
|
for (let i in list) {
|
||||||
let item = list[i]
|
let item = list[i]
|
||||||
if (item.title && typeof item.title === 'string' && item.title.indexOf('__') === 0) {
|
if (item.title && typeof item.title === 'string' && item.title.indexOf('__') === 0) {
|
||||||
applyHiddenNodeEffects(item);
|
if (!__show_hidden) { applyHiddenNodeEffects(item); continue; }
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
console.log(item)
|
console.log(item)
|
||||||
let card = document.createElement('div');
|
let card = document.createElement('div');
|
||||||
@@ -1254,7 +1257,7 @@ function loadMap(children_json) {
|
|||||||
for (let i in children_json) {
|
for (let i in children_json) {
|
||||||
let item = children_json[i];
|
let item = children_json[i];
|
||||||
let title = item.title;
|
let title = item.title;
|
||||||
if (title && typeof title === 'string' && title.indexOf('__') === 0) continue;
|
if (title && typeof title === 'string' && title.indexOf('__') === 0 && !__show_hidden) continue;
|
||||||
let tag = document.createElement("div");
|
let tag = document.createElement("div");
|
||||||
tag.className = "tag";
|
tag.className = "tag";
|
||||||
tag.textContent = title;
|
tag.textContent = title;
|
||||||
@@ -1341,6 +1344,22 @@ function renderUserPanel() {
|
|||||||
});
|
});
|
||||||
userpanel.appendChild(effect_btn);
|
userpanel.appendChild(effect_btn);
|
||||||
|
|
||||||
|
/* __ 系统节点显隐开关(所有用户) */
|
||||||
|
let hidden_btn = document.createElement("div");
|
||||||
|
hidden_btn.className = "tag";
|
||||||
|
hidden_btn.textContent = __show_hidden ? "隐藏系统节点" : "显示系统节点";
|
||||||
|
hidden_btn.addEventListener("click", () => {
|
||||||
|
__show_hidden = !__show_hidden;
|
||||||
|
try { localStorage.setItem('dnfs_show_hidden', __show_hidden ? '1' : '0'); } catch (e) {}
|
||||||
|
/* 切换时重新渲染当前层卡片和 minimap */
|
||||||
|
clearAllEffects();
|
||||||
|
renderCards(current_children);
|
||||||
|
var cur = (stack.length == 0) ? 0 : stack[stack.length - 1];
|
||||||
|
getNode(cur).then(function(r) { loadMap(r); });
|
||||||
|
renderUserPanel();
|
||||||
|
});
|
||||||
|
userpanel.appendChild(hidden_btn);
|
||||||
|
|
||||||
/* 管理员专属入口:运维机器人 / 进程管理器 */
|
/* 管理员专属入口:运维机器人 / 进程管理器 */
|
||||||
if (current_user.is_admin) {
|
if (current_user.is_admin) {
|
||||||
let ops_btn = document.createElement("div");
|
let ops_btn = document.createElement("div");
|
||||||
|
|||||||
Reference in new issue
Block a user