updated help and advanced table
This commit is contained in:
parent
4746cfac25
commit
4f8fb0a448
5 changed files with 238 additions and 36 deletions
|
|
@ -402,6 +402,16 @@ class ROICalculatorApp {
|
|||
|
||||
// toggleInvestmentModel removed - both models are now calculated simultaneously
|
||||
|
||||
updateMonthlyBreakdownFilters() {
|
||||
try {
|
||||
if (this.uiManager) {
|
||||
this.uiManager.updateMonthlyBreakdown();
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error updating monthly breakdown filters:', error);
|
||||
}
|
||||
}
|
||||
|
||||
logout() {
|
||||
if (!confirm('Are you sure you want to logout?')) {
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -131,12 +131,21 @@ class UIManager {
|
|||
|
||||
tbody.innerHTML = '';
|
||||
|
||||
// Get filter settings
|
||||
const filters = this.getMonthlyBreakdownFilters();
|
||||
|
||||
// Combine all monthly data and sort by month, then scenario, then model
|
||||
const allData = [];
|
||||
Object.keys(this.calculator.monthlyData).forEach(resultKey => {
|
||||
this.calculator.monthlyData[resultKey].forEach(monthData => {
|
||||
const model = resultKey.includes('_loan') ? 'loan' : 'direct';
|
||||
const scenario = resultKey.replace('_direct', '').replace('_loan', '');
|
||||
|
||||
// Apply filters
|
||||
if (!filters.models[model] || !filters.scenarios[scenario.toLowerCase()]) {
|
||||
return; // Skip this entry if filtered out
|
||||
}
|
||||
|
||||
allData.push({
|
||||
...monthData,
|
||||
model: model,
|
||||
|
|
@ -176,6 +185,7 @@ class UIManager {
|
|||
<td class="text-end">${data.totalInstances ? data.totalInstances.toLocaleString() : '0'}</td>
|
||||
<td class="text-end">${this.formatCurrencyDetailed(data.monthlyRevenue || 0)}</td>
|
||||
<td class="text-end fw-bold">${this.formatCurrencyDetailed(data.cspRevenue || 0)}</td>
|
||||
<td class="text-end text-muted">${this.formatCurrencyDetailed(data.servalaRevenue || 0)}</td>
|
||||
<td class="text-end fw-bold ${netPositionClass}">${this.formatCurrencyDetailed(data.netPosition || 0)}</td>
|
||||
`;
|
||||
});
|
||||
|
|
@ -253,4 +263,27 @@ class UIManager {
|
|||
default: return '#6c757d';
|
||||
}
|
||||
}
|
||||
|
||||
getMonthlyBreakdownFilters() {
|
||||
try {
|
||||
return {
|
||||
models: {
|
||||
direct: document.getElementById('breakdown-direct-enabled')?.checked ?? true,
|
||||
loan: document.getElementById('breakdown-loan-enabled')?.checked ?? true
|
||||
},
|
||||
scenarios: {
|
||||
conservative: document.getElementById('breakdown-conservative-enabled')?.checked ?? true,
|
||||
moderate: document.getElementById('breakdown-moderate-enabled')?.checked ?? true,
|
||||
aggressive: document.getElementById('breakdown-aggressive-enabled')?.checked ?? true
|
||||
}
|
||||
};
|
||||
} catch (error) {
|
||||
console.error('Error getting monthly breakdown filters:', error);
|
||||
// Return default filters if there's an error
|
||||
return {
|
||||
models: { direct: true, loan: true },
|
||||
scenarios: { conservative: true, moderate: true, aggressive: true }
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue