Commit Graph

5407 Commits

Author SHA1 Message Date
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
Kevin Ansfield
060d791a63 Removed need for .get() with settings service
no issue

The `settings` 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 `settings` service by grabbing the attributes off the setting model after fetching and using `Object.defineProperty()` to add native getters/setters that pass through to the model's getters/setters. 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 `settings.{attrName}` directly for getting/setting instead of `.get()` and `.set()`
- removed use of observer in the `customViews` service because it was being set up before the native properties had been added on the settings service meaning autotracking wasn't able to set up properly
2022-10-07 16:14:57 +01:00
Aileen Booker
c4188c1a9e
Added Ghost Explore in Ghost as iframe app behind feature flag (#15495)
no issue

- Added Ghost Explore screen behind alpha flag
- Moved existing /explore route to /explore/connect which we'll redirect to for outside requests
- Added iframe communication with Ghost Explore App
2022-10-07 14:32:54 +01:00
Simon Backx
7e3b41f643
Removed emailClicks feature flag (#15556)
fixes https://github.com/TryGhost/Team/issues/2028

Since link clicks became GA, some older components and templates are no longer used.
2022-10-07 14:27:57 +02:00
Rishabh
2612b44c21 Fixed column sorting for attribution table on analytics page
refs https://github.com/TryGhost/Team/issues/1986

- adds column sorting for attribution table on analytics page
2022-10-07 17:15:06 +05:30
Djordje Vlaisavljevic
38e06954a3 Updated heading copy
refs https://github.com/TryGhost/Team/issues/1986
2022-10-07 12:28:34 +02:00
Simon Backx
07cb542b97
Improved timezone support date picker and improved tests (#15545)
fixes https://github.com/TryGhost/Team/issues/1946

Problem:
- When running the admin tests in a timezone that is later than UTC, the tests failed.

Causes:
- Some tests needed some adjustements
- The DateTimePicker did not always use the correct timezone.
- Test models createdAt times sometimes depended on the timezone of the test runner

Solution:
- All the input DateTimePicker gets should be processed in the blog's timezone.
- Make sure that all communication (properties, setters, minDate...) with `PowerDatepicker` happens in the local timezone. When setting, convert that date to the blog timezone and use that as the real value.
2022-10-07 12:20:06 +02:00
Djordje Vlaisavljevic
e679bb4187 Updated the svg size
refs https://github.com/TryGhost/Team/issues/1986
2022-10-07 15:43:59 +05:30
Rishabh
6301307d41 Refined attribution source modal on dashboard
- removes static text for unavailable data on all sources modal
- updates dashboard mocks for attribution data
2022-10-07 15:43:59 +05:30
Rishabh
17f587ca0e Refined source attribution dashboard chart
- updates chart to show percentage value for each source
- adds Others bar back to the charts to show total percentage of other sources out of top 5
2022-10-07 15:43:59 +05:30
Djordje Vlaisavljevic
836010c0f2 Added back both columns to the all sources modal
refs https://github.com/TryGhost/Team/issues/1986
2022-10-07 15:43:59 +05:30
Djordje Vlaisavljevic
4630e5122b Fixed all sources modal height
refs https://github.com/TryGhost/Team/issues/1986
2022-10-07 15:43:59 +05:30
Djordje Vlaisavljevic
4704e7ab31 Added column sorting and removed the dropdown
refs https://github.com/TryGhost/Team/issues/1986
2022-10-07 15:43:59 +05:30
Djordje Vlaisavljevic
15fbd3d7e6 Updated attribution widget design
refs https://github.com/TryGhost/Team/issues/1986
2022-10-07 15:43:59 +05:30
Djordje Vlaisavljevic
f4d5271a1f Updated inactive state
refs https://github.com/TryGhost/Team/issues/1986
2022-10-07 15:43:59 +05:30
Djordje Vlaisavljevic
d9b3c1de41 Fixed attribution widget grid
refs https://github.com/TryGhost/Team/issues/1986
2022-10-07 15:43:59 +05:30
Rishabh
ed688f2cd7 Refined source attribution table on dashboard
- added back 2 column design for source attribution table
2022-10-07 15:43:59 +05:30
Djordje Vlaisavljevic
ff4f93f4a5 Updated attribution widget design
refs https://github.com/TryGhost/Team/issues/1986
2022-10-06 22:26:54 +02:00
Djordje Vlaisavljevic
37dd97b5c5 Updated default mock state
refs https://github.com/TryGhost/Team/issues/1986
2022-10-06 22:26:54 +02:00
Ozan Uslan
220af3b276
🐛 Fixed timezone issue with min/max dates in datetime picker
fixes #15497

`'now'` option for min/max date used `moment()` function and did not consider the timezone of the site.
2022-10-06 20:09:36 +02:00
Kevin Ansfield
fc5f0f7c79 Refactored stripe settings form component with Octane patterns
refs https://github.com/TryGhost/Ghost/issues/14101

- migrated to native class syntax and Glimmer component patterns
2022-10-06 16:22:32 +01:00
Kevin Ansfield
c2d8950bd5 Moved and renamed stripe settings form component
no issue

- moved screen-specific component into the `settings/members` folder
- renamed to better reflect the component's purpose
2022-10-06 16:22:32 +01:00
James Morris
4e3380190b Improving the member filters
- Closes dropdown when removing labels
- Larger width to handle multiple labels better
- Subtle focuses when using tabs only
- Bigger close button hitpoints on labels
- Added text ellipis for larger labels in dropdown
- Added some event propagation stops

no issue
2022-10-06 12:21:55 +01:00
Sanne de Vries
a2bfdc7534 Updated error status in post list and the editor
Refs https://github.com/TryGhost/Team/issues/2009
2022-10-06 17:37:08 +07:00
Sanne de Vries
08da18e324 Fixed breadcrumbs responsive issues
Refs https://www.notion.so/ghost/Switch-breadcrumb-style-513a624c0e0d490ca39a2fdb97a6971a

- New breadcrumb style broke posts list on smaller screens
- Updated copy to reflect the action taken on the page (e.g. Edit tag)
2022-10-06 16:25:57 +07:00
Simon Backx
aaabf4b103
🎨 Improved email failure handling and retrying (#15504)
fixes https://github.com/TryGhost/Team/issues/2009

- When an email is sent, but it failed there was no way to retry once you left the retry screen
- There was no indication that the email failed to send in the post list and editor
2022-10-06 11:12:11 +02:00
Djordje Vlaisavljevic
94aaa168cd Added disabled state with CTA for Zapier integration
refs https://github.com/TryGhost/Team/issues/1157
2022-10-05 15:36:52 +02:00
Kevin Ansfield
524b23c182
Migrated staff user screen to Ember Octane patterns (#15532)
refs https://github.com/TryGhost/Ghost/issues/14101

- migrated staff user controller to native class syntax
- removed use of `{{action}}` helper
- moved from custom components to native `<input>` and `<textarea>` for form fields
  - added `{{select-on-click}}` modifier to cover the `<GhTextingInput @selectOnClick>` option behaviour for any input element
- added `submitForm()` test helper that finds closest `form` element and trigger's a `submit` event on it simulating <kbd>Enter</kbd> being pressed whilst a field has focus
2022-10-05 12:05:31 +01:00
Sanne de Vries
b7fd0c04b6 Updated tag and history breadcrumbs
Refs https://www.notion.so/ghost/Switch-breadcrumb-style-513a624c0e0d490ca39a2fdb97a6971a

- Updated the copy to follow the common breadcrumb pattern
2022-10-05 12:40:51 +07:00
Kevin Ansfield
e0430b4efc 🐛 Fixed ctrl/cmd+s not saving focused fields on general/staff settings screens
no issue

- swapped from route actions triggered by shortcuts mixin to explicit `{{on-key}}` actions
- when saved via keyboard, blur any focused element to trigger it's on-blur action and schedule the save to run after those actions
2022-10-04 17:55:24 +01:00
Kevin Ansfield
c77c150745 Refactored facebook/twitter URL inputs
refs https://github.com/TryGhost/Ghost/issues/14101

Twitter/facebook URL validation doesn't follow our typical validation and was duplicated across multiple screens making the controllers unnecessarily complex.

- extracted url input fields and their validation into separate components
- uses tracked scratch values so that the input field values can reset to the saved value on save
  - twitter/facebook URL inputs are different to our other inputs because invalid values won't prevent saving, instead they are reset to their previous value on save
- added `this.validate()` call after a successful save in `settings` service so the service and underlying model validations are both in sync (fixes validation error sticking around after saving with invalid twitter/facebook values that have been reset)
2022-10-04 17:55:24 +01:00