Spaces:
Running
Running
File size: 2,834 Bytes
b1a9ea7 9092603 b1a9ea7 9092603 b1a9ea7 9092603 b1a9ea7 9092603 b1a9ea7 9092603 b1a9ea7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
document.addEventListener('DOMContentLoaded', function() {
let tasks = JSON.parse(localStorage.getItem('tasks')) || [
{ id: 1, title: 'Complete project proposal', dueDate: new Date().toISOString().split('T')[0], priority: 'high', completed: false },
{ id: 2, title: 'Review team documents', dueDate: new Date(Date.now() + 86400000).toISOString().split('T')[0], priority: 'medium', completed: false },
{ id: 3, title: 'Schedule meeting with client', dueDate: new Date(Date.now() - 86400000).toISOString().split('T')[0], priority: 'low', completed: true }
];
// Update KPI report
function updateKpiReport() {
document.getElementById('dailyKpi').shadowRoot.querySelector('kpi-report').updateStats(tasks);
}
// Add new task
document.addEventListener('task-added', (e) => {
const newTask = {
id: Date.now(),
...e.detail
};
tasks.push(newTask);
localStorage.setItem('tasks', JSON.stringify(tasks));
renderTasks();
updateKpiReport();
});
// Complete task
document.addEventListener('task-completed', (e) => {
const taskId = parseInt(e.detail.taskId);
tasks = tasks.map(task =>
task.id === taskId ? {...task, completed: !task.completed} : task
);
localStorage.setItem('tasks', JSON.stringify(tasks));
renderTasks();
updateKpiReport();
});
const documents = [
{ id: 1, title: 'Project Requirements', type: 'pdf', lastModified: '2023-06-01', size: '2.4 MB' },
{ id: 2, title: 'Meeting Notes', type: 'doc', lastModified: '2023-06-03', size: '1.1 MB' },
{ id: 3, title: 'Budget Plan', type: 'xls', lastModified: '2023-05-28', size: '3.7 MB' }
];
// Render tasks
const tasksContainer = document.getElementById('tasks-container');
tasks.forEach(task => {
const taskCard = document.createElement('custom-task-card');
taskCard.setAttribute('task-id', task.id);
taskCard.setAttribute('task-title', task.title);
taskCard.setAttribute('due-date', task.dueDate);
taskCard.setAttribute('priority', task.priority);
taskCard.setAttribute('completed', task.completed);
tasksContainer.appendChild(taskCard);
});
// Render documents
const documentsContainer = document.getElementById('documents-container');
documents.forEach(doc => {
const docCard = document.createElement('custom-document-card');
docCard.setAttribute('doc-id', doc.id);
docCard.setAttribute('doc-title', doc.title);
docCard.setAttribute('doc-type', doc.type);
docCard.setAttribute('last-modified', doc.lastModified);
docCard.setAttribute('size', doc.size);
documentsContainer.appendChild(docCard);
});
}); |