ligbox-ops-platform/projects/ops-desk/frontend/assets/modules.js
Ligbox Spec Hub b03bb2c37c feat(desk): UI/API Spec 039-041 + deploy atómico e smoke GREEN
Commita governance, user-wizard, operational-feed e catálogo RBAC;
adiciona deploy-desk-full.sh, smoke-desk.sh e regra anti-deploy parcial;
documenta credencial VM112 @betinplace.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-02 13:32:15 +00:00

38 lines
1,012 B
JavaScript

/** Registry de módulos Desk — Spec 015 */
const DeskModules = {
list: [],
loaded: false,
async load() {
const data = await api('/v1/modules');
this.list = data.modules || [];
this.loaded = true;
return this.list;
},
isEnabled(moduleId) {
const mod = this.list.find((m) => m.id === moduleId);
if (!mod) return true;
return !!mod.enabled;
},
isViewEnabled(view) {
const btn =
document.querySelector(`[data-desk-nav][data-view="${view}"]`) ||
document.querySelector(`.nav button[data-view="${view}"]`);
if (!btn || btn.hasAttribute('hidden')) return false;
const modId = btn.dataset.module;
if (!modId) return true;
return this.isEnabled(modId);
},
applyVisibility() {
document.querySelectorAll('[data-module]').forEach((el) => {
const modId = el.dataset.module;
if (this.isEnabled(modId)) el.removeAttribute('hidden');
else el.setAttribute('hidden', '');
});
},
};
window.DeskModules = DeskModules;