Adiciona listagem geral de assembleias
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
const rows=document.querySelector('#rows');
|
||||
let assembleias=[];
|
||||
|
||||
function esc(v){return String(v??'').replace(/[&<>'"]/g,c=>({'&':'&','<':'<','>':'>',"'":''','"':'"'}[c]))}
|
||||
function termo(){return document.querySelector('#assembleia-search-input')?.value.trim().toLowerCase()||''}
|
||||
function contem(q,...vals){return !q||vals.some(v=>String(v??'').toLowerCase().includes(q))}
|
||||
function destinatariosLabel(a){return (a.destinatarios||[]).map(x=>x.nome+' ('+x.tipo+')').join(', ')||'-'}
|
||||
|
||||
function renderAssembleias(){
|
||||
const q=termo();
|
||||
const lista=assembleias.filter(a=>contem(q,a.condominio_nome,a.tipo,a.data_hora,a.local,a.status,destinatariosLabel(a)));
|
||||
rows.innerHTML=lista.map(a=>`<tr><td><strong>${esc(a.condominio_nome||'-')}</strong></td><td>${esc(a.tipo)}</td><td>${Util.date(a.data_hora)}</td><td>${esc(a.local||'')}</td><td>${Util.badge(a.status)}</td><td>${esc(destinatariosLabel(a))}</td><td><a class="btn secondary" href="/cliente/condominio-detalhe.html?id=${a.condominio_id}">Abrir</a></td></tr>`).join('')||'<tr><td colspan="7">Nenhuma assembleia encontrada.</td></tr>';
|
||||
}
|
||||
|
||||
async function load(){
|
||||
try{
|
||||
const d=await Api.get('/api/assembleias-calendario');
|
||||
assembleias=d.assembleias||[];
|
||||
renderAssembleias();
|
||||
}catch(e){Util.toast(e.message,true)}
|
||||
}
|
||||
|
||||
window.alternarBuscaAssembleias=()=>{
|
||||
const strip=document.querySelector('#assembleia-search'),input=document.querySelector('#assembleia-search-input');
|
||||
strip.classList.toggle('hidden');
|
||||
if(!strip.classList.contains('hidden'))input.focus();
|
||||
};
|
||||
|
||||
document.querySelector('#assembleia-search-input')?.addEventListener('input',renderAssembleias);
|
||||
load();
|
||||
Reference in New Issue
Block a user