{"version":3,"names":["state","sort","localStorage","getItem","view","paintingLogs","classifyLog","line","value","String","toLowerCase","test","paintLogs","area","document","getElementById","children","length","Array","from","every","node","classList","contains","text","textContent","trim","dataset","aqPainted","fragment","createDocumentFragment","split","forEach","item","createElement","kind","className","appendChild","replaceChildren","addLogsFooter","sidebar","querySelector","button","type","addEventListener","modal","remove","window","verHistoricoEventos","compareCards","a","b","aid","id","toLocaleLowerCase","bid","localeCompare","rank","el","applyBoardPresentation","grid","toggle","current","querySelectorAll","sorted","slice","some","card","index","setAttribute","addBoardToolbar","header","toolbar","option","title","icon","setItem","select","keepOperationWindowReachable","matchMedia","matches","multi","windowSection","reset","style","display","parentElement","insertBefore","boot","logs","MutationObserver","requestAnimationFrame","observe","childList","characterData","subtree","attributes","attributeFilter","shell","passive","readyState"],"sources":["C:\\Users\\Newpc\\AppData\\Local\\Temp\\tmp16cbcwvb\\aq-app3.js"],"sourcesContent":["\r\n/*\r\n * Aquantis Dashboard Premium\r\n * Progressive enhancement visual: nao cria conexoes, endpoints ou estado de negocio.\r\n */\r\n(function () {\r\n  'use strict';\r\n\r\n  const state = {\r\n    sort: localStorage.getItem('aquantisMbSort') || 'name-asc',\r\n    view: localStorage.getItem('aquantisMbView') || 'grid',\r\n    paintingLogs: false\r\n  };\r\n\r\n  function classifyLog(line) {\r\n    const value = String(line || '').toLowerCase();\r\n    if (/erro|error|falha|crit|alarm|offline|negad|bloque/.test(value)) return 'is-error';\r\n    if (/alert|aten|warn|abaixo|vaz|limite|manual/.test(value)) return 'is-warn';\r\n    if (/ok|online|normal|conect|sucesso|ligad|execu/.test(value)) return 'is-ok';\r\n    if (/info|status|nivel|nível|config|auth|mqtt|bomba/.test(value)) return 'is-info';\r\n    return '';\r\n  }\r\n\r\n  function paintLogs() {\r\n    const area = document.getElementById('inline-log-content');\r\n    if (!area || state.paintingLogs) return;\r\n    if (area.children.length && Array.from(area.children).every(function (node) {\r\n      return node.classList.contains('aq-log-line');\r\n    })) return;\r\n    const text = area.textContent || '';\r\n    if (!text.trim() || (area.children.length && area.dataset.aqPainted === text)) return;\r\n\r\n    state.paintingLogs = true;\r\n    const fragment = document.createDocumentFragment();\r\n    text.split(/\\r?\\n/).forEach(function (line) {\r\n      if (!line.trim()) return;\r\n      const item = document.createElement('span');\r\n      const kind = classifyLog(line);\r\n      item.className = 'aq-log-line' + (kind ? ' ' + kind : '');\r\n      item.textContent = line;\r\n      fragment.appendChild(item);\r\n    });\r\n    area.replaceChildren(fragment);\r\n    area.dataset.aqPainted = text;\r\n    state.paintingLogs = false;\r\n  }\r\n\r\n  function addLogsFooter() {\r\n    const sidebar = document.getElementById('sidebar-right');\r\n    if (!sidebar || sidebar.querySelector('.aq-logs-all')) return;\r\n    const button = document.createElement('button');\r\n    button.type = 'button';\r\n    button.className = 'aq-logs-all';\r\n    button.textContent = 'Ver todos os logs  →';\r\n    button.addEventListener('click', function () {\r\n      const modal = document.getElementById('modal-logs');\r\n      if (modal) modal.classList.remove('hidden');\r\n      if (typeof window.verHistoricoEventos === 'function') window.verHistoricoEventos();\r\n    });\r\n    sidebar.appendChild(button);\r\n  }\r\n\r\n  function compareCards(a, b) {\r\n    const aid = (a.dataset.id || '').toLocaleLowerCase('pt-BR');\r\n    const bid = (b.dataset.id || '').toLocaleLowerCase('pt-BR');\r\n    if (state.sort === 'name-desc') return bid.localeCompare(aid, 'pt-BR');\r\n    if (state.sort === 'status') {\r\n      const rank = function (el) {\r\n        if (el.classList.contains('alarm')) return 0;\r\n        if (el.classList.contains('offline')) return 1;\r\n        return 2;\r\n      };\r\n      return rank(a) - rank(b) || aid.localeCompare(bid, 'pt-BR');\r\n    }\r\n    return aid.localeCompare(bid, 'pt-BR');\r\n  }\r\n\r\n  function applyBoardPresentation() {\r\n    const grid = document.getElementById('mb-grid');\r\n    if (!grid) return;\r\n    grid.classList.toggle('aq-list-mode', state.view === 'list');\r\n    const current = Array.from(grid.querySelectorAll(':scope > .mb-card'));\r\n    const sorted = current.slice().sort(compareCards);\r\n    if (sorted.some(function (card, index) { return card !== current[index]; })) {\r\n      sorted.forEach(function (card) { grid.appendChild(card); });\r\n    }\r\n\r\n    document.querySelectorAll('.aq-view-btn').forEach(function (button) {\r\n      button.classList.toggle('active', button.dataset.view === state.view);\r\n      button.setAttribute('aria-pressed', button.dataset.view === state.view ? 'true' : 'false');\r\n    });\r\n  }\r\n\r\n  function addBoardToolbar() {\r\n    const header = document.querySelector('#view-multiboard .mb-header');\r\n    if (!header || header.querySelector('.aq-mb-toolbar')) return;\r\n\r\n    const toolbar = document.createElement('div');\r\n    toolbar.className = 'aq-mb-toolbar';\r\n    toolbar.setAttribute('aria-label', 'Opcoes de visualizacao das placas');\r\n\r\n    const toggle = document.createElement('div');\r\n    toggle.className = 'aq-view-toggle';\r\n    [['grid', 'grid_view', 'Ver em grade'], ['list', 'view_list', 'Ver em lista']].forEach(function (option) {\r\n      const button = document.createElement('button');\r\n      button.type = 'button';\r\n      button.className = 'aq-view-btn';\r\n      button.dataset.view = option[0];\r\n      button.title = option[2];\r\n      button.setAttribute('aria-label', option[2]);\r\n      const icon = document.createElement('span');\r\n      icon.className = 'material-icons-round';\r\n      icon.textContent = option[1];\r\n      button.appendChild(icon);\r\n      button.addEventListener('click', function () {\r\n        state.view = option[0];\r\n        localStorage.setItem('aquantisMbView', state.view);\r\n        applyBoardPresentation();\r\n      });\r\n      toggle.appendChild(button);\r\n    });\r\n\r\n    const select = document.createElement('select');\r\n    select.className = 'aq-sort';\r\n    select.setAttribute('aria-label', 'Ordenar placas');\r\n    [\r\n      ['name-asc', 'Ordenar: Nome (A–Z)'],\r\n      ['name-desc', 'Ordenar: Nome (Z–A)'],\r\n      ['status', 'Ordenar: Prioridade']\r\n    ].forEach(function (option) {\r\n      const item = document.createElement('option');\r\n      item.value = option[0];\r\n      item.textContent = option[1];\r\n      select.appendChild(item);\r\n    });\r\n    select.value = state.sort;\r\n    select.addEventListener('change', function () {\r\n      state.sort = select.value;\r\n      localStorage.setItem('aquantisMbSort', state.sort);\r\n      applyBoardPresentation();\r\n    });\r\n\r\n    toolbar.appendChild(toggle);\r\n    toolbar.appendChild(select);\r\n    header.appendChild(toolbar);\r\n  }\r\n\r\n  function keepOperationWindowReachable() {\r\n    if (!window.matchMedia('(max-width: 900px)').matches) return;\r\n    const multi = document.getElementById('view-multiboard');\r\n    const sidebar = document.getElementById('sidebar-left');\r\n    const windowSection = document.getElementById('janela-section');\r\n    const reset = document.getElementById('reset-section');\r\n    if (!multi || !sidebar || !windowSection) return;\r\n    if (multi.style.display === 'block' && windowSection.parentElement !== sidebar) {\r\n      sidebar.insertBefore(windowSection, reset || null);\r\n    }\r\n  }\r\n\r\n  function boot() {\r\n    addBoardToolbar();\r\n    addLogsFooter();\r\n    paintLogs();\r\n    applyBoardPresentation();\r\n    keepOperationWindowReachable();\r\n\r\n    const logs = document.getElementById('inline-log-content');\r\n    if (logs) {\r\n      new MutationObserver(function () {\r\n        if (!state.paintingLogs) requestAnimationFrame(paintLogs);\r\n      }).observe(logs, { childList: true, characterData: true, subtree: true });\r\n    }\r\n\r\n    const grid = document.getElementById('mb-grid');\r\n    if (grid) {\r\n      new MutationObserver(function () {\r\n        requestAnimationFrame(applyBoardPresentation);\r\n      }).observe(grid, { childList: true });\r\n    }\r\n\r\n    const multi = document.getElementById('view-multiboard');\r\n    if (multi) {\r\n      new MutationObserver(keepOperationWindowReachable)\r\n        .observe(multi, { attributes: true, attributeFilter: ['style', 'class'] });\r\n    }\r\n    const shell = document.getElementById('app-shell');\r\n    if (shell) {\r\n      new MutationObserver(keepOperationWindowReachable)\r\n        .observe(shell, { childList: true, subtree: true });\r\n    }\r\n    window.addEventListener('resize', keepOperationWindowReachable, { passive: true });\r\n  }\r\n\r\n  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', boot);\r\n  else boot();\r\n})();\r\n\r\n"],"mappings":"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","ignoreList":[]}