Commit Graph

5437 Commits

Author SHA1 Message Date
Djordje Vlaisavljevic
0172fd3ef2 Made default and editing states the same height
refs https://github.com/TryGhost/Team/issues/2067
2022-10-20 12:43:41 +02:00
Djordje Vlaisavljevic
d1d3c1401f Added button for saving changes made to the link
refs https://github.com/TryGhost/Team/issues/2125
2022-10-20 12:18:56 +02:00
James Morris
02698b4559 Moved the resources to the new style
refs https://github.com/TryGhost/Team/issues/2117
2022-10-20 10:01:30 +01:00
Rishabh
88bda6e1b3 Handled no empty sources for attribution table
- fixes an edge case where if a site has no unavailable sources in a particular period, it broke the table view as the `Others` data doesn't get fetched
2022-10-19 20:31:48 +05:30
Rishabh
ca28ba8bae Added edited state for newsletter links
refs https://github.com/TryGhost/Team/issues/2111

- shows edited in UI next to edited newsletter links in post analytics
2022-10-19 20:25:58 +05:30
Djordje Vlaisavljevic
e6bde038ba Fixed period filter not appearing on smaller screens on dashboard
no ref
2022-10-19 16:55:33 +02:00
Simon Backx
6380b82793
Added sentiment ordering and include for posts (#15657)
fixes https://github.com/TryGhost/Team/issues/2090

- This changes how sentiment is exposed in the API. Now it is exposed as a `sentiment` relation, directly on the model (no longer in counts). Internally we still use `count.sentiment`.
- Content API users (and themes) can include the 'sentiment' relation and order by sentiment.
- Updated Admin to use sentiment instead of count.sentiment
2022-10-19 16:50:58 +02:00
Rishabh
3db8fb5a1c Wired newsletter link success/error states
refs https://github.com/TryGhost/Team/issues/2116

- wires handling of success and error messages on editing a newsletter link
- has the update api commented out temporarily to mock the changes
2022-10-19 19:23:15 +05:30
Djordje Vlaisavljevic
b310b3a97a
Added design for edited state of newsletter links
refs https://github.com/TryGhost/Team/issues/2111

- Added indicator that the link in a newsletter has been edited after sending
2022-10-19 15:33:37 +02:00
Elena Baidakova
c65b980ada
Added tabs component (#15652)
closes TryGhost/Team#2086
2022-10-19 15:20:15 +04:00
Naz
f38950c022
Fixed typo 2022-10-19 18:10:40 +08:00
Djordje Vlaisavljevic
d14dd3e3ae Fixed overflow for newsletter links
refs https://github.com/TryGhost/Team/issues/2067
2022-10-19 12:59:54 +05:30
Djordje Vlaisavljevic
e3c03bb754 Added newsletter links editing explanation text
refs https://github.com/TryGhost/Team/issues/2067
2022-10-19 12:59:54 +05:30
Djordje Vlaisavljevic
6b46f3f295 Made edit link button always visible
refs https://github.com/TryGhost/Team/issues/2067
2022-10-19 12:59:54 +05:30
Djordje Vlaisavljevic
a014b5838a
Added design for success and error states for editing newsletter links
refs https://github.com/TryGhost/Team/issues/2095
refs https://github.com/TryGhost/Team/issues/2098

- Added success state design for editing links in newsletters
- Added error state for invalid URL when editing links in newsletters
2022-10-18 10:53:34 +02:00
Simon Backx
0bb7538cd1
Added feedback events to activity feed (#15639)
fixes https://github.com/TryGhost/Team/issues/2051
fixes https://github.com/TryGhost/Team/issues/2052
2022-10-17 15:44:18 +02:00
Kevin Ansfield
f78f264982
Fixed PromiseObject related errors thrown from members activity list (#15641)
no issue

- the `memberRecord` getter on the members activity controller was
returning the direct result of `store.findRecord()` which in reality is
a `PromiseObject` that is a type of proxy. Although templates handle
this OK, any JS code using the object needs to know that it's not a
typical type of object and has to use `.get()` for all property access
to avoid errors
- switched `memberRecord` from a getter to a resource so we have more
control over the returned object and loading lifecycle
- added a `MemberFetcher` resource class that awaits the result of the
store find and only then sets the value meaning we always have a fully
resolved model object
- being a resource the fetch will only occur when the `member` id
property changes, unlike the getter which performed the fetch every time
it was accessed
2022-10-17 15:28:34 +02:00
Simon Backx
22fe1c01de
Added conversions count and separate analytics page (#15637)
fixes https://github.com/TryGhost/Team/issues/2084

- When audience feedback is enabled, we use a single 'conversions' count instead of having separate ones for signups and paid conversions.
- The analytics component is separated so we can change it without breaking the existing page.
2022-10-17 13:02:39 +02:00
Ronald Langeveld
7a0c6de2d7
Added imageUpload function to Lexical Editor (#15634)
no issue

- A basic image upload function for testing the image card of the new Lexical Koenig Editor.
2022-10-17 15:31:55 +07:00
Peter Zimon
378a6f9326 Fixed loading animation for Safari
no refs.

- the size of the loading animation in Safari wasn't set correctly and didn't always start automatically
2022-10-17 10:11:07 +02:00
Djordje Vlaisavljevic
097b232524
Fix newsletter links (#15621)
Added a button for editing links in newsletters after sending to the
Post analytics page

Co-authored-by: Rishabh <zrishabhgarg@gmail.com>
2022-10-14 18:09:42 +02:00
James Morris
e074676e12 Updated engagement bar metrics so when no link it doesn't hover
no issue
2022-10-14 12:19:29 +01:00
James Morris
60ce10be9f Fixed up more like this and newsletter clicks table at narrower viewports
no issue
2022-10-14 11:18:56 +01:00
Elena Baidakova
67b65538cf
Added toggle to enable/disable audience feedback in admin (#15601)
closes TryGhost/Team#2043
- Added ability to enable like/dislike buttons for each newsletter.
- Buttons color calculated from accent color.
2022-10-13 10:24:46 +04:00
jbenezech
b9dd9f066d
🐛 Fixed settings overriden when updated from multiple tabs (#15536)
closes: https://github.com/TryGhost/Ghost/issues/15470

- When multiple browser tabs are open, each manipulate a different copy of ember data model, changes to the model in one tab are not reflected in the model of the other tab.
- When updating some settings, all current settings were sent to the API.
- As a result, when updating two different categories of settings (navigation/code inspection) in different tabs, the second update was overriding the first one.
- From a user perspective, this is not a natural behaviour. Only settings visible on-screen when clicking save should be modified.

Co-authored-by: Kevin Ansfield <kevin@lookingsideways.co.uk>
2022-10-12 14:03:54 +01:00
Rishabh
6b7f4dd1c7 Fixed cursor for attribution table header
refs https://github.com/TryGhost/Team/issues/1986
2022-10-12 10:51:13 +05:30
Simon Backx
68bdc1afea
Added post sentiment (#15592)
fixes https://github.com/TryGhost/Team/issues/2054

This change adds the sentiment and positive_feedback counts to the posts models. This change isn't really ideal because there are some problems here:
- sentiment isn't really a count
- we don't need to include the sentiment and positive_feedback as a default for posts (but the same is true for attribution)

It would make sense to move this to separate endpoints that only fetch the analytics for a given post when the analytics page is opened. But for our initial skateboard version of audience feedback this should be a good start to already see the data.
2022-10-11 17:52:14 +02:00
Djordje Vlaisavljevic
88d4872346 Added fix links in newsletter feature flag
refs https://github.com/TryGhost/Team/issues/2063
2022-10-11 17:08:41 +02:00
Djordje Vlaisavljevic
b3175b5b77 Deleted the chart and the dropdown
refs https://github.com/TryGhost/Team/issues/1986
2022-10-11 10:47:31 +02:00
Djordje Vlaisavljevic
73f679ce59 Updated attribution box design
refs https://github.com/TryGhost/Team/issues/1986
2022-10-11 10:47:31 +02:00
Djordje Vlaisavljevic
185f6132e1 Removed unavailable source explainer
refs https://github.com/TryGhost/Team/issues/1986
2022-10-11 10:47:31 +02:00
Djordje Vlaisavljevic
b9d80c1164 Commented out chart, legend and dropdown
refs https://github.com/TryGhost/Team/issues/1986
2022-10-11 10:47:31 +02:00
Djordje Vlaisavljevic
09efa27630 Fixed date range dropdown without flag
refs https://github.com/TryGhost/Team/issues/1986
2022-10-11 10:47:31 +02:00
Djordje Vlaisavljevic
fd790ae4c6 Made the dashboard header sticky
refs https://github.com/TryGhost/Team/issues/1986
2022-10-11 10:47:31 +02:00
AmbroziuBaban
4ca74c0c2f
🐛 Fixed note field keyboard save in admin members form (#15476)
closes: https://github.com/TryGhost/Ghost/issues/15450

- the object property "note" was updated only on focus out, which is wrong
- the property should be updated on input
	-this problem occurred only for TextArea component
2022-10-10 13:59:49 +01:00
Simon Backx
73f5fd92eb Added audience feedback feature flag
closes https://github.com/TryGhost/Team/issues/2039
2022-10-10 09:27:45 +02:00
Sanne de Vries
3895f20d89 Fixed missing padding on whats-new page title 2022-10-10 11:06:01 +07:00
Kevin Ansfield
786e0ac9c5
Updated ValidationEngine to support bare native class models (#15567)
no issue

- if a plain native class instance with tracked properties is validated against the `ValidationEngine` and it's associated validators would cause errors by assuming that the instance has a `.get()` method
- updated all model access in `ValidationEngine` and the validators to use direct property access which works for both native class and `EmberObject` instances
2022-10-07 20:13:42 +01:00
Kevin Ansfield
0a827dfb47 Fixed max call stack error on error controller
no issue

- getter for `error` should return the model, not itself 🤦🏻‍♂️
2022-10-07 19:46:30 +01:00
Kevin Ansfield
717e89113c Refactored reset controller to Octane patterns
refs https://github.com/TryGhost/Ghost/issues/14101

- migrated to full native class syntax
- swapped use of `<GhTextInput>` in favor of native `<input>` and removed use of `{{action}}` in associated template
2022-10-07 19:07:51 +01:00
Kevin Ansfield
ef0178cd06 Refactored posts and pages controllers to Octane patterns
refs https://github.com/TryGhost/Ghost/issues/14101

- migrated to full native class syntax
- removed loading of snippets as they are not needed on post lists (they are needed on the editor screen which does it's own loading)
- removed `access` query param definition leftover from earlier development
- removed use of `{{action}}` in associated templates
2022-10-07 18:39:34 +01:00
Kevin Ansfield
a8fb80652c Refactored error controller to Octane patterns
refs https://github.com/TryGhost/Ghost/issues/14101

- migrated to full native class syntax
2022-10-07 18:05:24 +01:00
Kevin Ansfield
cefd51c81c Refactored billing controller to Octane patterns
refs https://github.com/TryGhost/Ghost/issues/14101

- migrated to full native class syntax
2022-10-07 17:59:49 +01:00
Kevin Ansfield
4f59aa8e25 Refactored application controller to Octane patterns
refs https://github.com/TryGhost/Ghost/issues/14101

- migrated to full native class syntax
2022-10-07 17:59:34 +01:00
Kevin Ansfield
48af4ab3a1 Moved navigation screen components
no issue

- moved screen-specific components out of the top-level components directory
- top-level directory should eventually only contain generally re-usable/application-wide components
2022-10-07 17:23:39 +01:00
Kevin Ansfield
ea05b30380 Refactored navigation controller to Octane patterns
refs https://github.com/TryGhost/Ghost/issues/14101

- migrated to native class syntax
- removed use of jQuery that was long out of date and not necessary
2022-10-07 17:23:17 +01:00
Kevin Ansfield
fab7a82185 Fixed missed component rename
refs 74daa02b52
2022-10-07 17:17:44 +01:00
Kevin Ansfield
74daa02b52 Moved members list item components
no issue

- moved screen-specific components out of the top-level components directory
- top-level directory should eventually only contain generally re-usable/application-wide components
2022-10-07 17:09:18 +01:00
Kevin Ansfield
7eab83a6ec
Fixed member ProxyObject from sparse array leaking out of members list (#15565)
no issue

- the `ella-sparse-array` dependency used for the sparsely populated list on the members screen creates ProxyObjects that wrap the underlying member model instances meaning the forced use of `.get()` and `.set()` required by ProxyObject was leaking through to other areas of the app causing a mismatch in code patterns
- moved the loading state for each member into a separate component and put the loading conditional directly inside the `{{#each members}}` block so that we can pass the real model instance through to components via `{{member.content}}` rather than passing the ProxyObject wrapper, avoiding unexpected errors when not using `.get()` and `.set()` on member arguments
2022-10-07 17:03:45 +01:00
Kevin Ansfield
7b443d4b63 Removed need for .get() with config service
no issue

The `config` service has been a source of confusion when writing with modern Ember patterns because it's use of the deprecated `ProxyMixin` forced all property access/setting to go via `.get()` and `.set()` whereas the rest of the system has mostly (there are a few other uses of ProxyObjects remaining) eliminated the use of the non-native get/set methods.

- removed use of `ProxyMixin` in the `config` service by grabbing the API response after fetching and using `Object.defineProperty()` to add native getters/setters that pass through to a tracked object holding the API response data. Ember's autotracking automatically works across the native getters/setters so we can then use the service as if it was any other native object
- updated all code to use `config.{attrName}` directly for getting/setting instead of `.get()` and `.set()`
- removed unnecessary async around `config.availableTimezones` which wasn't making any async calls
2022-10-07 16:14:57 +01:00