refs https://github.com/TryGhost/Team/issues/1443
- Fetch member counts from 30 days ago
- Added Percentage component to show +1%, -1% or = changes
- Fixed: emails sent number was not formatted
- Fixed: wrong dates were used for some stats
refs https://github.com/TryGhost/Team/issues/1443
- Now fetches email models instead of posts
- Fetches up to 8 emails
- Autofills missing emails, so we always have 8 emails
- Changed data structure of emailOpenRateStats variable in dashboard stats service
refs: https://github.com/TryGhost/Team/issues/1445
- threw in some static generic resources modules based off offers styling
- these will be dynamic but adding them to pad out prototype
refs https://github.com/TryGhost/Team/issues/1443
- Also moved loading of charts outside of constructors to avoid infinite update loops in Ember
- Random loading delay when using fake states
refs https://github.com/TryGhost/Team/issues/1444
- Moved control panel to separate component
- Moved storage of amount of graph days to load to dashboard stats service
- Moved storage of engagement filtered status to dashboard stats service
- Dropdown state selector
- Save state in localstorage
- SiteStatus object and loadStatus methods in dashboard stats service and mock service
refs https://github.com/TryGhost/Team/issues/1447
- Added a few newsletter methods (browse, add, archive/un-archive)
- This temporary code helps the frontend implementation to be done quicker
- And helps getting a better understanding of the backend implementation (schema + api routes)
Refs https://github.com/TryGhost/Team/issues/1441
- Rearranged the page: publish-menu preview is removed because the publish flow will change.
- Email addresses setting removed because it will be set on an individual newsletter level
refs https://github.com/TryGhost/Team/issues/1432
- All mocking logic is moved to the dashboard-mocks service
- Added @days property support and loading to first dashboard 4 graphs.
- 2 years state button added
refs https://github.com/TryGhost/Team/issues/1432
- Added very basic state selection at the bottom of dashboard 5.0
- Added a dashboard stats service, who is responsible for fetching and returning stats data
- Added POC for days dropdown with communication and reload between ember components
- Added proper automatic number and plural formatting for member counts
refs: https://github.com/TryGhost/Team/issues/1436
- added in lots of demo graphs using EmberChart
- renamed some files in v5 folder for better conventions
- put each graph for new dashboard into separate components
refs https://github.com/TryGhost/Team/issues/1435
refs a47b61c1d4
A recent change for showing all subscriptions of a member on detail screen introduced a circular json structure with subscription -> tiers -> subscriptions, which throws an error on saving any member with paid subscription on member detail screen.
refs https://github.com/TryGhost/Team/issues/1141
Showing canceled subscriptions provide a more complete picture of the activity of a member.
- Given there is no `member.product` object when a subscription is canceled, use the `member.subscriptions.price.product` objects instead of `member.products`.
- applied boy-scout rule for linter errors and and code formatting
- removed `multipleTiers` flag conditionals as it's now GA
- set up subscriptions as a separate mirage resource so they are easier to work with
- updated `PUT /members/:id/` endpoint to match real API's complimentary subscription behaviour
- modified mirage member serializer to match API output
Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
Co-authored-by: Peter Zimon <peter.zimon@gmail.com>
no issue
- email open rate is shown by default so we don't need to add the column a second time when the list is filtered by that data
- added `email_open_rate` to the default columns list so it's ignored when adding any filtered-by columns
refs https://github.com/TryGhost/Team/issues/1423
- problem:
- all members requests were automatically adding `?include=email_recipients` as the email recipients relationship was set up to be always embedded
- embedded email_recipient records also embed the whole email record
- on the members index screen this meant for each of the 50 members loaded on a page we were also loading every email they have ever received resulting in a huge API response
- this was not a problem previously because the API was ignoring the `include` parameter on the browse endpoint and Admin wasn't formatting the include properly in snake_case
- solution:
- the only place we need associated email recipients is on the member details screen where they are used to show the email activity feed
- removing the `{embedded: 'always'}` option for the `member.emailRecipients` association stops `?include=email_recipients` being added automatically to every members request
- the member details screen explicitly adds `?include=email_recipients` so no further changes are needed
- activity feed will be changing to use proper event objects in the future and further optimisation can be made