On touch devices, tapping an eye button in the details panel would trigger chart mouseout → showDefaultView() which rebuilt the DOM before the click event fired. Added pointerdown/pointerup guards on the details box to prevent the race condition. Also added @media (pointer: coarse) to always show eye buttons on touch devices regardless of viewport width. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .dockerignore | ||
| altcats-2025-01.csv | ||
| app.js | ||
| DEV.md | ||
| docker-compose.yml | ||
| index.html | ||
| manifest.json | ||
| package.json | ||
| README.md | ||
| server.js | ||
| styles.css | ||
Visual Spending
A visualization tool for family spending data using Apache ECharts.
Features
- Visualize spending per categories, subcategories, and microcategories as a sunburst graph
- Display spending data for different months
- Interactive visualization with hover details and click navigation
Usage
- Ensure you have Node.js installed on your system
- Place your spending data CSV files in the root directory with the naming convention
altcats-YYYY-MM.csv - Run the server:
npm start
- Open your browser and navigate to
http://localhost:3000
Data Format
The CSV file should have the following columns:
- transaction_date
- category
- subcategory
- microcategory
- amount_rub
Technologies Used
- Apache ECharts
- Node.js