File manager - Edit - /var/www/html/portal/public/pmar/js/admin/contratos/form.js
Back
document.addEventListener('DOMContentLoaded', function () { const tituloTextarea = document.getElementById('con_titulo'); const tituloCount = document.getElementById('con_titulo_count'); if (tituloTextarea && tituloCount) { const maxLength = parseInt(tituloTextarea.getAttribute('maxlength'), 10); function atualizarContadorTitulo() { const atual = tituloTextarea.value.length; tituloCount.textContent = atual; if (atual >= maxLength) { tituloCount.classList.add('text-danger', 'fw-semibold'); tituloCount.classList.remove('text-warning'); } else if (atual >= Math.floor(maxLength * 0.9)) { tituloCount.classList.add('text-warning', 'fw-semibold'); tituloCount.classList.remove('text-danger'); } else { tituloCount.classList.remove('text-danger', 'text-warning', 'fw-semibold'); } } tituloTextarea.addEventListener('input', atualizarContadorTitulo); atualizarContadorTitulo(); } const licitacaoInput = document.getElementById('licitacao_search'); const licitacaoIdInput = document.getElementById('licitacao_procedimento_id'); const licitacaoResults = document.getElementById('licitacao_search_results'); if (!licitacaoInput || !licitacaoIdInput || !licitacaoResults) { return; } const licitacaoSearchUrl = licitacaoInput.dataset.searchUrl; let licitacaoDebounceTimer = null; function esconderResultadosLicitacao() { licitacaoResults.classList.add('d-none'); licitacaoResults.innerHTML = ''; } function renderizarResultadosLicitacao(items) { licitacaoResults.innerHTML = ''; if (!items.length) { const emptyItem = document.createElement('button'); emptyItem.type = 'button'; emptyItem.className = 'list-group-item list-group-item-action disabled'; emptyItem.textContent = 'Nenhum resultado encontrado.'; licitacaoResults.appendChild(emptyItem); licitacaoResults.classList.remove('d-none'); return; } items.forEach(function (item) { const button = document.createElement('button'); button.type = 'button'; button.className = 'list-group-item list-group-item-action'; button.textContent = item.text; button.addEventListener('click', function () { licitacaoIdInput.value = item.id; licitacaoInput.value = item.text; esconderResultadosLicitacao(); }); licitacaoResults.appendChild(button); }); licitacaoResults.classList.remove('d-none'); } async function buscarLicitacoes(query) { const url = new URL(licitacaoSearchUrl, window.location.origin); url.searchParams.set('q', query); const response = await fetch(url.toString(), { headers: { 'X-Requested-With': 'XMLHttpRequest', 'Accept': 'application/json' } }); if (!response.ok) { throw new Error('Falha ao buscar licitacoes.'); } const payload = await response.json(); return Array.isArray(payload.data) ? payload.data : []; } licitacaoInput.addEventListener('input', function () { const query = licitacaoInput.value.trim(); licitacaoIdInput.value = ''; if (licitacaoDebounceTimer) { clearTimeout(licitacaoDebounceTimer); } if (query.length < 2) { esconderResultadosLicitacao(); return; } licitacaoDebounceTimer = setTimeout(async function () { try { const items = await buscarLicitacoes(query); renderizarResultadosLicitacao(items); } catch (error) { esconderResultadosLicitacao(); } }, 350); }); licitacaoInput.addEventListener('blur', function () { setTimeout(esconderResultadosLicitacao, 150); }); licitacaoInput.addEventListener('keydown', function (event) { if (event.key === 'Escape') { esconderResultadosLicitacao(); } }); });
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings