34 lines
No EOL
1.4 KiB
Markdown
34 lines
No EOL
1.4 KiB
Markdown
# ROI Calculator Modules
|
|
|
|
This directory contains the modular ROI Calculator implementation, split into focused, maintainable modules.
|
|
|
|
## Module Structure
|
|
|
|
### Core Modules
|
|
|
|
- **`calculator-core.js`** - Main ROICalculator class with calculation logic
|
|
- **`chart-manager.js`** - Chart.js integration and chart rendering
|
|
- **`ui-manager.js`** - DOM updates, table rendering, and metric display
|
|
- **`export-manager.js`** - PDF and CSV export functionality
|
|
- **`input-utils.js`** - Input validation, parsing, and formatting utilities
|
|
- **`roi-calculator-app.js`** - Main application coordinator class
|
|
|
|
### Integration
|
|
|
|
- **`../roi-calculator-modular.js`** - Global function wrappers for backward compatibility
|
|
|
|
## Key Improvements
|
|
|
|
1. **Modular Architecture**: Each module has a single responsibility
|
|
2. **Error Handling**: Comprehensive try-catch blocks with graceful fallbacks
|
|
3. **No Global Variables**: App instance contained in window.ROICalculatorApp
|
|
4. **Type Safety**: Input validation and null checks throughout
|
|
5. **Separation of Concerns**: Calculation, UI, charts, and exports are separated
|
|
|
|
## Usage
|
|
|
|
All modules are automatically loaded via the HTML template. The ROICalculatorApp class coordinates all modules and provides the same public API as the original monolithic version.
|
|
|
|
## Backward Compatibility
|
|
|
|
All existing HTML onclick handlers and function calls continue to work through the global wrapper functions in `roi-calculator-modular.js`. |