Calendario solo visual no se puede editar

This commit is contained in:
2026-08-12 11:05:34 -05:00
parent 67b5fa2ce0
commit 76c5c2c237
2 changed files with 86 additions and 35 deletions
+62 -35
View File
@@ -82,7 +82,7 @@ function abrirModalDia(fecha, pendientes) {
tit.textContent = 'Pendientes (' + noCompletados.length + ')';
cont.appendChild(tit);
noCompletados.forEach(function(p) {
cont.appendChild(crearCardPendiente(p));
cont.appendChild(crearCardPendiente(p, true));
});
}
if (completados.length) {
@@ -91,14 +91,14 @@ function abrirModalDia(fecha, pendientes) {
titC.textContent = 'Completados (' + completados.length + ')';
cont.appendChild(titC);
completados.forEach(function(p) {
cont.appendChild(crearCardPendiente(p));
cont.appendChild(crearCardPendiente(p, true));
});
}
}
document.getElementById('modalDia').classList.remove('hidden');
}
function crearCardPendiente(p) {
function crearCardPendiente(p, soloLectura) {
const vencido = esVencido(p);
const div = document.createElement('div');
div.className = 'pendiente-card ' + (vencido ? 'vencido' : p.urgencia);
@@ -111,41 +111,68 @@ function crearCardPendiente(p) {
}
html += '</div>' +
'<div>' + formatearFecha(p.fecha) + ' - ' + p.estado + ' - Urgencia: ' + p.urgencia + '</div>' +
'</div>' +
'<div class="menu-wrapper">' +
'<button class="menu-btn" onclick="toggleMenu(' + p.id + ')">\u22EF</button>' +
'<div class="menu-dropdown" id="menu-' + p.id + '">' +
'<button onclick="editarPendiente(' + p.id + ')">Editar</button>' +
'<button class="menu-delete" onclick="eliminarPendiente(' + p.id + ')">Eliminar</button>' +
'</div>' +
'</div>' +
'</div>';
html += '<div class="acceso-rapido">';
if (soloLectura) {
html += '</div>';
} else {
html += '<div class="menu-wrapper">' +
'<button class="menu-btn" onclick="toggleMenu(' + p.id + ')">\u22EF</button>' +
'<div class="menu-dropdown" id="menu-' + p.id + '">' +
'<button onclick="editarPendiente(' + p.id + ')">Editar</button>' +
'<button class="menu-delete" onclick="eliminarPendiente(' + p.id + ')">Eliminar</button>' +
'</div>' +
'</div>' +
'</div>';
}
html += '<div class="acceso-grupo">';
html += '<span class="acceso-label">Prioridad:</span>';
['alta', 'media', 'baja'].forEach(function(u) {
const activo = p.urgencia === u ? ' activo' : '';
const etiqueta = u.charAt(0).toUpperCase() + u.slice(1);
html += '<button class="quick-btn urgencia-' + u + activo + '" onclick="cambioRapido(' + p.id + ',\'urgencia\',\'' + u + '\')">' + etiqueta + '</button>';
});
html += '</div>';
html += '<div class="acceso-grupo">';
html += '<span class="acceso-label">Estado:</span>';
[
{ val: 'pendiente', label: 'Pendiente' },
{ val: 'en progreso', label: 'En proceso' },
{ val: 'completado', label: 'Completado' }
].forEach(function(e) {
const activo = p.estado === e.val ? ' activo' : '';
const cls = e.val.replace(' ', '_');
html += '<button class="quick-btn estado-' + cls + activo + '" onclick="cambioRapido(' + p.id + ',\'estado\',\'' + e.val + '\')">' + e.label + '</button>';
});
html += '</div>';
html += '</div>';
if (soloLectura) {
html += '<div class="acceso-rapido solo-lectura">';
html += '<div class="acceso-grupo">';
html += '<span class="acceso-label">Prioridad:</span>';
['alta', 'media', 'baja'].forEach(function(u) {
const activo = p.urgencia === u ? ' activo' : '';
const etiqueta = u.charAt(0).toUpperCase() + u.slice(1);
html += '<span class="quick-badge urgencia-' + u + activo + '">' + etiqueta + '</span>';
});
html += '</div>';
html += '<div class="acceso-grupo">';
html += '<span class="acceso-label">Estado:</span>';
[
{ val: 'pendiente', label: 'Pendiente' },
{ val: 'en progreso', label: 'En proceso' },
{ val: 'completado', label: 'Completado' }
].forEach(function(e) {
const activo = p.estado === e.val ? ' activo' : '';
const cls = e.val.replace(' ', '_');
html += '<span class="quick-badge estado-' + cls + activo + '">' + e.label + '</span>';
});
html += '</div>';
html += '</div>';
} else {
html += '<div class="acceso-rapido">';
html += '<div class="acceso-grupo">';
html += '<span class="acceso-label">Prioridad:</span>';
['alta', 'media', 'baja'].forEach(function(u) {
const activo = p.urgencia === u ? ' activo' : '';
const etiqueta = u.charAt(0).toUpperCase() + u.slice(1);
html += '<button class="quick-btn urgencia-' + u + activo + '" onclick="cambioRapido(' + p.id + ',\'urgencia\',\'' + u + '\')">' + etiqueta + '</button>';
});
html += '</div>';
html += '<div class="acceso-grupo">';
html += '<span class="acceso-label">Estado:</span>';
[
{ val: 'pendiente', label: 'Pendiente' },
{ val: 'en progreso', label: 'En proceso' },
{ val: 'completado', label: 'Completado' }
].forEach(function(e) {
const activo = p.estado === e.val ? ' activo' : '';
const cls = e.val.replace(' ', '_');
html += '<button class="quick-btn estado-' + cls + activo + '" onclick="cambioRapido(' + p.id + ',\'estado\',\'' + e.val + '\')">' + e.label + '</button>';
});
html += '</div>';
html += '</div>';
}
div.innerHTML = html;
return div;