1
0
Fork 0
mirror of https://github.com/maybe-finance/maybe.git synced 2025-07-24 15:49:39 +02:00
Maybe/app/models
Jose Farias 49b603f478
Flesh out D3 time series charts (#657)
* Reindent TimeSeries classes

* Fix spacing in time series tests

* Remove trend tests where current is nil

I think if we've gotten this far with a nil value for current, there's a data integrity problem.

If we allow this, we'll have to be very defensive in our code. Best to raise and fix early.

* Reindent Money class

* Refactor TimeSeries artifacts

* Use as_json in TimeSeries

* Bring back tests for trends where current is nil

* Bring back trend test

* Correctly enumerate trend test

* Use favorable_direction for trend_styles helper

* Make trend public in TimeSeries::Value

* Allow nil current values in trends

I think I might've gotten it wrong before, nils might appear in trends if values are unavailable for snapshots

* Clean up TimeSeries::Trend

* Skip trend values same class validations if any values are nil

* Refactor Money

* Remove object parsing in TimeSeries::Value

We're only every passing hashes

* Refactor trendline chart controller into a time series chart controller

* Replace trendline controller

* Implement empty state

* Port line-chart controller into time-series-chart

* Split out methods

* Group similar time series chart functionality

* Fix indicator color

* Fix empty state in time series chart

* Replace line-chart controller with time-series-chart controller

* Draw empty time series chart if less than 2 data points

* Fix favorable direction serialization

* Handle integers as well as money

* Fix favorable direction serialization

* Replace chart types with optional elements

* Prevent double-renders when displaying turbo caches of time series charts

* Remove ambiguities between time series and series data

* Improve time series chart property names

* Clean up tooltip template

* Match tooltip designs

* Apply trendline gradient

* Implement trendline split behavior

* Use same stroke width on all trend lines

* Sort time series data by date

* Support percentages

* Use data color for guideline circles

* Revert "Use data color for guideline circles"

This reverts commit f239a1e00f.

* Use expected defaults for time series chart

* Include day in time-series chart x-axis labels

* favorableDirection -> favorable_direction

* data -> datum where appropriate

* Hide change data in tooltip for percentages
2024-04-22 13:44:26 -04:00
..
account Account Sync should happen at login, 1x per day, OR on-demand (#594) 2024-04-04 17:00:12 -04:00
concerns Add zero-config self hosting on Render (#612) 2024-04-13 09:28:45 -04:00
exchange_rate Implement Synth as an exchange rate provider (#574) 2024-03-27 11:16:00 -04:00
provider Add zero-config self hosting on Render (#612) 2024-04-13 09:28:45 -04:00
time_series Flesh out D3 time series charts (#657) 2024-04-22 13:44:26 -04:00
transaction Add transaction modal flow (#633) 2024-04-16 14:44:31 -04:00
upgrader Add zero-config self hosting on Render (#612) 2024-04-13 09:28:45 -04:00
account.rb Fixed Data Access Restriction (#636) 2024-04-16 15:58:53 -04:00
application_record.rb Initial commit 2024-02-02 09:05:04 -06:00
current.rb Opt-in to Current fully (#297) 2024-02-04 17:36:46 -06:00
exchange_rate.rb Implement Synth as an exchange rate provider (#574) 2024-03-27 11:16:00 -04:00
family.rb Account Sync should happen at login, 1x per day, OR on-demand (#594) 2024-04-04 17:00:12 -04:00
invite_code.rb Implement invitation codes 2024-02-02 17:55:27 -06:00
period.rb Multi-Currency Part 2 (#543) 2024-03-21 13:39:10 -04:00
setting.rb Add zero-config self hosting on Render (#612) 2024-04-13 09:28:45 -04:00
time_series.rb Flesh out D3 time series charts (#657) 2024-04-22 13:44:26 -04:00
transaction.rb Add apply button, improve transaction filters (#655) 2024-04-19 12:03:16 -04:00
upgrader.rb Add zero-config self hosting on Render (#612) 2024-04-13 09:28:45 -04:00
user.rb Add zero-config self hosting on Render (#612) 2024-04-13 09:28:45 -04:00
valuation.rb Isolate infinite loop bug, add timeout to actions (#583) 2024-03-29 12:53:08 -04:00
value_group.rb Multi-Currency Part 2 (#543) 2024-03-21 13:39:10 -04:00