Feat: clickable graphs
This commit is contained in:
@@ -90,6 +90,18 @@
|
||||
if (window.comparisonChartInstance) {
|
||||
window.comparisonChartInstance.destroy();
|
||||
}
|
||||
// Map each bar to its corresponding page
|
||||
const modelPages = [
|
||||
'ActivitiesAttendedResponses',
|
||||
'ActivitiesOrganisedResponses',
|
||||
'BooksPublishedResponses',
|
||||
'ExternalEngagementResponses',
|
||||
'IvOrganisedResponses',
|
||||
'OnlineCoursesResponses',
|
||||
'PatentsResponses',
|
||||
'PublicationsResponses'
|
||||
];
|
||||
const barLinks = modelPages.map(page => `/admin/${page}`);
|
||||
window.comparisonChartInstance = new Chart(ctx, {
|
||||
type: 'bar',
|
||||
data: {
|
||||
@@ -152,6 +164,16 @@
|
||||
y: {
|
||||
beginAtZero: true
|
||||
}
|
||||
},
|
||||
onClick: function(evt, elements) {
|
||||
if (elements.length > 0) {
|
||||
const idx = elements[0].index;
|
||||
const departmentId = departmentSelector.value;
|
||||
// Only redirect if the bar index is within the modelPages range
|
||||
if (idx < barLinks.length) {
|
||||
window.location.href = `${barLinks[idx]}?department_id=${departmentId}`;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -192,8 +214,13 @@
|
||||
if (window.contributionChartInstance) {
|
||||
window.contributionChartInstance.destroy();
|
||||
}
|
||||
// Define bar links for each label (customize as needed)
|
||||
const barLinks = data.labels.map((label, idx) => {
|
||||
// Example: redirect to /admin/contribution/{id} (replace with your actual route/logic)
|
||||
return `/admin/contribution/${data.ids ? data.ids[idx] : idx+1}`;
|
||||
});
|
||||
window.contributionChartInstance = new Chart(ctx, {
|
||||
type: 'bar', // Changed to bar chart
|
||||
type: 'bar',
|
||||
data: {
|
||||
labels: data.labels,
|
||||
datasets: [{
|
||||
@@ -258,6 +285,12 @@
|
||||
y: {
|
||||
beginAtZero: true
|
||||
}
|
||||
},
|
||||
onClick: function(evt, elements) {
|
||||
if (elements.length > 0) {
|
||||
const idx = elements[0].index;
|
||||
window.location.href = barLinks[idx];
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user