Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Customizeable Reports #1791

Merged
merged 72 commits into from
Nov 16, 2023
Merged

Customizeable Reports #1791

merged 72 commits into from
Nov 16, 2023

Conversation

carkom
Copy link
Contributor

@carkom carkom commented Oct 13, 2023

Trying to guage if this would be desirable before I spend any time on it.

I wanted to create a place where reports can be created and saved. Functionality on this is very minimal at the moment. Starting with a POC to make sure it's a good idea and to get feedback on how it should be implemented. Shout out to @shaankhosla for the work on recharts as it makes something like this much more feasible and easier to implement.

You can find the report in /reports/custom

Step one would be to create a place for users to create custom reports.
Step two would be creating a process where users can save these reports and re-use them.

@trafico-bot trafico-bot bot added the 🚧 WIP label Oct 13, 2023
@netlify
Copy link

netlify bot commented Oct 13, 2023

Deploy Preview for actualbudget ready!

Name Link
🔨 Latest commit 62ac0c3
🔍 Latest deploy log https://app.netlify.com/sites/actualbudget/deploys/6555cbbfa02c6000094b086d
😎 Deploy Preview https://deploy-preview-1791.demo.actualbudget.org/
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@shaankhosla
Copy link
Contributor

Really excited for this, looking forward to it!

@github-actions
Copy link
Contributor

github-actions bot commented Oct 13, 2023

Bundle Stats — desktop-client

Hey there, this message comes from a GitHub action that helps you and reviewers to understand how these changes affect the size of this project's bundle.

As this PR is updated, I'll keep you updated on how the bundle size is impacted.

Total

Files count Total bundle size % Changed
16 2.88 MB → 2.97 MB (+88.82 kB) +3.01%
Changeset
File Δ Size
../../node_modules/recharts/es6/polar/Pie.js 🆕 +24.78 kB 0 B → 24.78 kB
../../node_modules/recharts/es6/cartesian/Line.js 🆕 +23.45 kB 0 B → 23.45 kB
../../node_modules/recharts/es6/cartesian/Scatter.js 🆕 +19.18 kB 0 B → 19.18 kB
src/components/reports/ReportSidebar.js 🆕 +17.67 kB 0 B → 17.67 kB
src/components/reports/spreadsheets/default-spreadsheet.tsx 🆕 +15.58 kB 0 B → 15.58 kB
src/components/reports/reports/CustomReport.js 🆕 +14.52 kB 0 B → 14.52 kB
../../node_modules/recharts/es6/polar/PolarRadiusAxis.js 🆕 +12.24 kB 0 B → 12.24 kB
../../node_modules/recharts/es6/polar/PolarAngleAxis.js 🆕 +11.37 kB 0 B → 11.37 kB
src/components/reports/reports/CashFlowCard.js 🆕 +8.88 kB 0 B → 8.88 kB
src/components/reports/reports/CashFlow.js 🆕 +8.44 kB 0 B → 8.44 kB
src/components/reports/spreadsheets/cash-flow-spreadsheet.tsx 🆕 +8.42 kB 0 B → 8.42 kB
src/components/reports/graphs/AreaGraph.tsx 🆕 +7.74 kB 0 B → 7.74 kB
src/components/reports/spreadsheets/sankey-spreadsheet.tsx 🆕 +7.57 kB 0 B → 7.57 kB
src/components/reports/graphs/BarGraph.tsx 🆕 +7.53 kB 0 B → 7.53 kB
src/components/reports/ReportSummary.js 🆕 +6.96 kB 0 B → 6.96 kB
src/components/reports/ReportTopbar.js 🆕 +6.81 kB 0 B → 6.81 kB
src/components/reports/reports/NetWorth.js 🆕 +6.34 kB 0 B → 6.34 kB
src/components/reports/reports/CategorySpending.js 🆕 +6.25 kB 0 B → 6.25 kB
src/components/reports/ReportTableList.tsx 🆕 +5.77 kB 0 B → 5.77 kB
../../node_modules/recharts/es6/shape/Polygon.js 🆕 +5.67 kB 0 B → 5.67 kB
src/components/reports/spreadsheets/category-spending-spreadsheet.tsx 🆕 +5.59 kB 0 B → 5.59 kB
src/components/reports/graphs/StackedBarGraph.tsx 🆕 +5.35 kB 0 B → 5.35 kB
src/components/reports/reports/Sankey.js 🆕 +5.21 kB 0 B → 5.21 kB
src/components/reports/graphs/BarLineGraph.tsx 🆕 +5.17 kB 0 B → 5.17 kB
src/components/reports/graphs/LineGraph.tsx 🆕 +4.91 kB 0 B → 4.91 kB
src/components/reports/reports/NetWorthCard.js 🆕 +4.72 kB 0 B → 4.72 kB
src/components/reports/spreadsheets/net-worth-spreadsheet.tsx 🆕 +4.68 kB 0 B → 4.68 kB
src/components/reports/graphs/DonutGraph.tsx 🆕 +4.5 kB 0 B → 4.5 kB
src/components/reports/ChooseGraph.js 🆕 +4.2 kB 0 B → 4.2 kB
src/components/reports/ReportTableTotals.tsx 🆕 +3.1 kB 0 B → 3.1 kB
src/components/reports/reports/CustomReportCard.js 🆕 +2.71 kB 0 B → 2.71 kB
src/components/reports/reports/CategorySpendingCard.js 🆕 +2.65 kB 0 B → 2.65 kB
src/components/reports/SaveReport.tsx 🆕 +2.47 kB 0 B → 2.47 kB
src/components/reports/reports/SankeyCard.js 🆕 +2.34 kB 0 B → 2.34 kB
src/components/reports/ReportTableHeader.tsx 🆕 +2.24 kB 0 B → 2.24 kB
src/components/reports/ReportOptions.tsx 🆕 +1.49 kB 0 B → 1.49 kB
src/components/reports/ReportCard.tsx 🆕 +1.16 kB 0 B → 1.16 kB
src/components/reports/ReportTable.tsx 🆕 +1006 B 0 B → 1006 B
../../node_modules/lodash/minBy.js 🆕 +991 B 0 B → 991 B
../../node_modules/recharts/es6/chart/PieChart.js 🆕 +851 B 0 B → 851 B
../../node_modules/recharts/es6/chart/ComposedChart.js 🆕 +805 B 0 B → 805 B
src/icons/v1/Chart.tsx 🆕 +716 B 0 B → 716 B
src/icons/v1/Calculator.tsx 🆕 +664 B 0 B → 664 B
../../node_modules/recharts/es6/chart/BarChart.js 🆕 +623 B 0 B → 623 B
src/icons/v1/ListBullet.tsx 🆕 +550 B 0 B → 550 B
../../node_modules/recharts/es6/chart/LineChart.js 🆕 +547 B 0 B → 547 B
src/icons/v1/ChartPie.tsx 🆕 +540 B 0 B → 540 B
src/icons/v1/Tag.tsx 🆕 +526 B 0 B → 526 B
src/icons/v1/ChartBar.tsx 🆕 +522 B 0 B → 522 B
src/icons/v1/Queue.tsx 🆕 +500 B 0 B → 500 B
src/icons/v1/Filter.tsx 🆕 +488 B 0 B → 488 B
src/components/reports/numberFormatter.tsx 🆕 +219 B 0 B → 219 B
../../node_modules/recharts/es6/cartesian/ZAxis.js 🆕 +210 B 0 B → 210 B
src/components/reports/chart-theme.js 📈 +1.3 kB (+47.42%) 2.74 kB → 4.04 kB
src/components/reports/ReportRouter.js 📈 +234 B (+19.61%) 1.17 kB → 1.39 kB
src/components/reports/Header.js 📈 +395 B (+6.26%) 6.17 kB → 6.55 kB
src/hooks/useFeatureFlag.ts 📈 +26 B (+5.32%) 489 B → 515 B
src/components/settings/Experimental.tsx 📈 +162 B (+3.70%) 4.28 kB → 4.44 kB
src/components/filters/FiltersMenu.js 📈 +337 B (+1.40%) 23.47 kB → 23.8 kB
src/components/accounts/Header.js 📈 +54 B (+0.28%) 18.78 kB → 18.83 kB
src/components/reports/graphs/NetWorthGraph.tsx 📉 -123 B (-1.62%) 7.42 kB → 7.3 kB
src/components/reports/graphs/SankeyGraph.tsx 📉 -123 B (-2.74%) 4.39 kB → 4.27 kB
src/components/reports/Overview.js 📉 -17.33 kB (-85.61%) 20.25 kB → 2.91 kB
src/components/reports/graphs/cash-flow-spreadsheet.tsx 🔥 -8.42 kB (-100%) 8.42 kB → 0 B
src/components/reports/CashFlow.js 🔥 -8.41 kB (-100%) 8.41 kB → 0 B
src/components/reports/graphs/sankey-spreadsheet.tsx 🔥 -7.57 kB (-100%) 7.57 kB → 0 B
src/components/reports/NetWorth.js 🔥 -6.3 kB (-100%) 6.3 kB → 0 B
src/components/reports/CategorySpending.js 🔥 -6.23 kB (-100%) 6.23 kB → 0 B
src/components/reports/graphs/category-spending-spreadsheet.tsx 🔥 -5.59 kB (-100%) 5.59 kB → 0 B
src/components/reports/Sankey.js 🔥 -5.18 kB (-100%) 5.18 kB → 0 B
src/components/reports/graphs/net-worth-spreadsheet.tsx 🔥 -4.68 kB (-100%) 4.68 kB → 0 B
View detailed bundle breakdown

Added

Asset File Size % Changed
static/js/665.chunk.js 0 B → 824.28 kB (+824.28 kB) -
static/js/301.chunk.js 0 B → 13.31 kB (+13.31 kB) -

Removed

Asset File Size % Changed
static/js/460.chunk.js 774.35 kB → 0 B (-774.35 kB) -100%
static/js/312.chunk.js 12.92 kB → 0 B (-12.92 kB) -100%

Bigger

Asset File Size % Changed
static/js/reports.chunk.js 35.97 kB → 74.37 kB (+38.41 kB) +106.78%
static/js/main.js 1.15 MB → 1.15 MB (+83 B) +0.01%
static/js/wide-components.chunk.js 127.16 kB → 127.18 kB (+16 B) +0.01%

Smaller

No assets were smaller

Unchanged

Asset File Size % Changed
static/media/Inter-italic.var.woff2 239.29 kB 0%
static/media/Inter-roman.var.woff2 221.86 kB 0%
static/js/444.chunk.js 156.11 kB 0%
static/js/231.chunk.js 117.37 kB 0%
static/js/narrow-components.chunk.js 52.15 kB 0%
static/js/473.chunk.js 13 kB 0%
static/js/resize-observer-polyfill.chunk.js 8.88 kB 0%
static/css/main.css 7.41 kB 0%
asset-manifest.json 2.07 kB 0%
index.html 1.66 kB 0%
static/media/browser-server.js 903 B 0%

@github-actions
Copy link
Contributor

github-actions bot commented Oct 13, 2023

Bundle Stats — loot-core

Hey there, this message comes from a GitHub action that helps you and reviewers to understand how these changes affect the size of this project's bundle.

As this PR is updated, I'll keep you updated on how the bundle size is impacted.

Total

Files count Total bundle size % Changed
2 2.22 MB 0%

Changeset

No files were changed

View detailed bundle breakdown

Added

No assets were added

Removed

No assets were removed

Bigger

No assets were bigger

Smaller

No assets were smaller

Unchanged

Asset File Size % Changed
kcab.worker.js 1.23 MB 0%
xfo.xfo.kcab.worker.js 1014.46 kB 0%

@youngcw
Copy link
Member

youngcw commented Oct 13, 2023

This would be a killer addition. I would vote for calling it out directly on the website once its in.

@carkom
Copy link
Contributor Author

carkom commented Oct 14, 2023

@MatissJanis, I'd like to get your feedback on UI before I put any time into making this all work properly. Cheers!

@carkom
Copy link
Contributor Author

carkom commented Nov 14, 2023

FYI, I've descoped the Legend as it wasn't working properly. I have a new branch I'm working on that will improve state variables as well as add legend back in. Leaving it out for now because this PR is already too big.

@carkom carkom requested a review from MatissJanis November 14, 2023 11:28
Copy link
Member

@MatissJanis MatissJanis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We're almost there. Thanks for your hard work! :)

@trafico-bot trafico-bot bot added ⚠️ Changes requested Pull Request needs changes before it can be reviewed again and removed 🔍 Ready for Review labels Nov 14, 2023
@MatissJanis MatissJanis added this to the v23.12.0 milestone Nov 14, 2023
@trafico-bot trafico-bot bot added 🔍 Ready for Review and removed ⚠️ Changes requested Pull Request needs changes before it can be reviewed again labels Nov 15, 2023
@carkom carkom requested a review from MatissJanis November 15, 2023 11:16
Copy link
Member

@MatissJanis MatissJanis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

@shaankhosla
Copy link
Contributor

Congrats @carkom, great job!

@carkom carkom merged commit 1f10599 into actualbudget:master Nov 16, 2023
17 checks passed
@trafico-bot trafico-bot bot added ✨ Merged Pull Request has been merged successfully and removed 🔍 Ready for Review labels Nov 16, 2023
@carkom carkom deleted the reportsOrganization branch November 16, 2023 08:04
FlorianLang06 pushed a commit to FlorianLang06/actual that referenced this pull request Mar 7, 2024
* Reorganize and add graphs

* Create Customizable Chart

* Notes

* Hide Menu update Donut

* lint fixes

* Organize Menus

* Change Title

* UI changes

* UI updates

* Add Data Table

* Functionality additions and Privacy Filters

* Date filters working and formatting changes

* Fix default spreadsheet and add tableGraph

* Integrate Summary Data and Split Legend

* started adding functionality on charts

* list fix

* Enabling more graphs, fixing errors

* Legend, interactions, Empty Rows Filter

* fixes for EmptyRows/interactions/legends

* formatting UI and filtering data

* format date

* fix errors

* Fix Legend Order

* lint fixes

* Add tooltips

* Feature Flag

* fix overview card, fix offbudget checkbox

* Revamped dataType, added scrollBars

* data display adjustments

* data spreadsheet updates/groups added to matrix

* Add Category Selector

* Add Labels Button

* formatting fixes

* Add Averages to dataTable

* data bug fix

* Added all type back in with exceptions

* formatting

* split assets/debts, add Uncategorized

* bug fixes and UI updates

* add scrollbars to table

* formatting dataTable

* tooltips, navigation and graph labels

* Code clean-up and re-org

* revert color change

* Change labels name

* organize files

* code cleanup

* Tooltip Colors

* Descoping legend for future PR

* descope legend & rename split

* rename type variable to be more descriptive

* adjustments for sankey and eslint merges

* notes update

* code review fixes

* code fixes

* fix date selections
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ Merged Pull Request has been merged successfully
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants