Spaces:
Sleeping
Sleeping
function logintoHome(event) { | |
// Prevent the form submission | |
event.preventDefault(); | |
// Redirect to the Flask profile route | |
window.location.href = '/profile'; | |
} | |
const casesData = { | |
"cases": [ | |
{ | |
"type": "جنائية", | |
"summary": "قضية سرقة منزل في حي السلام", | |
"date": "2024-01-15" | |
}, | |
{ | |
"type": "جنائية", | |
"summary": "حادث مروري في شارع الملك فهد", | |
"date": "2024-02-20" | |
}, | |
{ | |
"type": "أحوال شخصية", | |
"summary": "دعوى نفقة وحضانة", | |
"date": "2024-01-10" | |
}, | |
{ | |
"type": "أحوال شخصية", | |
"summary": "طلب تعديل زيارة أطفال", | |
"date": "2024-03-05" | |
}, | |
{ | |
"type": "عام", | |
"summary": "نزاع تجاري بين شركتين", | |
"date": "2024-02-01" | |
} | |
] | |
}; | |
function processData(data) { | |
const counts = { | |
"جنائية": 0, | |
"أحوال شخصية": 0, | |
"عام": 0 | |
}; | |
data.cases.forEach(caseItem => { | |
counts[caseItem.type]++; | |
}); | |
return { | |
labels: Object.keys(counts), | |
data: Object.values(counts) | |
}; | |
} | |
// Create doughnut chart | |
function createDoughnutChart(processedData) { | |
const ctx = document.getElementById('caseChart').getContext('2d'); | |
new Chart(ctx, { | |
type: 'doughnut', | |
data: { | |
labels: processedData.labels, | |
datasets: [{ | |
data: processedData.data, | |
backgroundColor: ['#003366', '#36A2EB', '#8dc9e5'], | |
hoverBackgroundColor: ['#40372E', '#A88A6C', '#ADA195'], | |
borderWidth: 1 | |
}] | |
}, | |
options: { | |
responsive: true, | |
plugins: { | |
legend: { | |
position: 'bottom', | |
labels: { | |
font: { size: 14 } | |
} | |
}, | |
tooltip: { | |
callbacks: { | |
label: function(context) { | |
const label = context.label || ''; | |
const value = context.formattedValue; | |
const total = context.dataset.data.reduce((a, b) => a + b, 0); | |
const percentage = Math.round((context.raw / total) * 100); | |
return `${label}: ${value} (${percentage}%)`; | |
} | |
} | |
} | |
}, | |
cutout: '60%' | |
} | |
}); | |
} | |
// Display summaries | |
function displaySummaries(data) { | |
const summariesContainer = document.getElementById('caseSummaries'); | |
data.cases.forEach(caseItem => { | |
const summaryDiv = document.createElement('div'); | |
let className = ''; | |
switch(caseItem.type) { | |
case 'جنائية': | |
className = 'criminal'; | |
break; | |
case 'أحوال شخصية': | |
className = 'personal'; | |
break; | |
case 'عام': | |
className = 'general'; | |
break; | |
} | |
summaryDiv.className = `case-summary ${className}`; | |
summaryDiv.innerHTML = ` | |
<strong>${caseItem.type}</strong> | |
<p>${caseItem.summary}</p> | |
<small>${new Date(caseItem.date).toLocaleDateString('ar-SA')}</small> | |
`; | |
summariesContainer.appendChild(summaryDiv); | |
}); | |
} | |
document.addEventListener('DOMContentLoaded', function() { | |
const doughnutData = processData(casesData); | |
const totalDocuments = casesData.cases.length; // Calculate total number of documents (cases) | |
// Create doughnut chart | |
createDoughnutChart(doughnutData); | |
// Display the total number of documents | |
document.getElementById('totalDocuments').innerHTML = `إجمالي عدد القضايا: ${totalDocuments}`; | |
// Display case summaries | |
displaySummaries(casesData); | |
}); |