mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-21 09:52:06 +03:00
2be1673106
refs https://github.com/TryGhost/Team/issues/1542 - adds a `PublishOptions` class - an instance of this class provides everything the UI needs to display and set the publish options relevant to the current post object and overall system state - the `publish-flow` modal is passed a `PublishOptions` instance when it opens - as part of the constructor it triggers a background load of any additional data it requires to control available options such as member counts, email limits, and newsletters - adds a `{{publish-options}}` resource - sets up and returns `PublishOptions` instance - passes through service dependencies which are not available directly in the `PublishOptions` class as it's a custom native class outside of Ember's DI management - used to ensure we can get a clean `PublishOptions` instance any time the passed in `post` object is replaced meaning we don't have to rely on observers and manual teardown/setup - updated `<PublishManagement>` component - sets up `publishOptions` property using `@use` and the `{{publish-options}}` resource so reactivity for changing post objects is handled automatically - uses the `publishOptions.isLoading` property to disable the publish flow trigger button until all of the data required to manage the flow is available - updated `publish-flow` modal to use some of the initially available `publishOptions` data
10 lines
279 B
Handlebars
10 lines
279 B
Handlebars
<button
|
|
type="button"
|
|
class="gh-btn gh-btn-editor darkgrey gh-publishmenu-trigger"
|
|
{{on "click" this.openPublishFlow}}
|
|
{{on-key "cmd+shift+p"}}
|
|
disabled={{this.publishOptions.isLoading}}
|
|
data-test-button="publish-flow"
|
|
>
|
|
<span>Publish</span>
|
|
</button> |