Implementation:
- Add annualizedDividendYield property to TimelinePosition, PortfolioSnapshot, and PortfolioSummary interfaces
- Calculate individual position yield based on last 12 months dividends / investment with currency effects
- Aggregate portfolio-wide yield in PortfolioSnapshot
- Extract and include yield in PortfolioSummary via PortfolioService
Tests:
- Add comprehensive tests with single position (MSFT)
- Add multi-position test (MSFT + IBM) to verify aggregation
- Add PortfolioService integration tests
- Add IBM mock data to CurrentRateService
- Update cash test to include new property
* fix(lib): update displayedColumns type
* feat(lib): use input function for holdings
* feat(lib): make isLoading a computed signal
* feat(lib): make paginator and sort viewchild signals
* feat(lib): make dataSource a computed signal
* feat(lib): use input function for hasPermission fields
* feat(lib): make displayedColumns a computed signal
* feat(lib): remove ngOnChanges
* feat(lib): update types in holdings mock
* fix(lib): update imports for treemap chart component
* fix(lib): remove unused routeQueryParams variable
* fix(lib): prevent creating new table data source every time the signal changes
* fix(lib): remove unused unsubscribe subject as there is no observable subscription
* fix(lib): revert changes to dataSource in the template
* fix(lib): changed locale to input signal
* fix(lib): change ignoreAssetSubClasses to protected
* fix(lib): create canShowDetails function
* fix(lib): remove unused baseCurrency and deviceType inputs
* fix(lib): remove unused baseCurrency and deviceType inputs from stories
* feat(lib): make constructor as public
* fix(lib): prevent table data source to be created every time
* fix(lib): remove unused unsubscribeSubject variable
* fix(lib): change to protected methods
* feat(lib): change locale to signal input
* feat(lib): remove unused deviceType input
* feat(lib): change hasPermissionToOpenDetails to signal input
* feat(lib): change showFooter to signal input
* feat(lib): change activitiesCount to signal input
* feat(lib): change baseCurrency to signal input
* feat(lib): change totalBalanceInBaseCurrency to signal input
* feat(lib): change totalValueInBaseCurrency to signal input
* feat(lib): change outputs to signal outputs
* fix(lib): replace null with undefined in activities table stories
* feat(lib): implement inject functions in accounts table
* feat(lib): change to input functions
* feat(lib): change displayedColumns to a computed field
* feat(lib): change accounts to use input function
* feat(lib): change isLoading to a computed field
* fix(lib): remove unused routeQueryParams variable
* feat(lib): change sort to use viewChild function
* feat(lib): change dataSource to a computed field
* feat(lib): remove ngOnChanges
* Adapt accounts and tags of assistant in impersonation mode
* Update changelog
---------
Co-authored-by: Thomas Kaul <4159106+dtslvr@users.noreply.github.com>