mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-28 05:37:34 +03:00
Hid email specific cards from card menus when editing pages
no issue Pages can not be sent by email so by hiding email-specific cards when editing pages we can reduce confusion and clutter. - added a `@postType` argument to editor components that can be passed through to sub components - set `@postType` to `post.displayName` which is either `post` or `page` - updated `{{card-is-available}}` helper to compare a `postType` property on card menu items to the passed in `postType`
This commit is contained in:
parent
e5e68ff55b
commit
8b5c18d6e5
@ -52,6 +52,7 @@
|
||||
@updateSnippet={{@updateSnippet}}
|
||||
@deleteSnippet={{@deleteSnippet}}
|
||||
@cardOptions={{@cardOptions}}
|
||||
@postType={{@postType}}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
@ -92,6 +92,7 @@
|
||||
@cardOptions={{hash
|
||||
post=this.post
|
||||
}}
|
||||
@postType={{this.post.displayName}}
|
||||
/>
|
||||
|
||||
<div class="gh-editor-wordcount-container">
|
||||
|
@ -56,6 +56,7 @@
|
||||
@deleteSnippet={{this.deleteSnippet}}
|
||||
@replaceWithCardSection={{action "replaceWithCardSection"}}
|
||||
@replaceWithPost={{action "replaceWithPost"}}
|
||||
@postType={{@postType}}
|
||||
/>
|
||||
|
||||
{{!-- slash menu popup --}}
|
||||
@ -66,6 +67,7 @@
|
||||
@deleteSnippet={{this.deleteSnippet}}
|
||||
@replaceWithCardSection={{action "replaceWithCardSection"}}
|
||||
@replaceWithPost={{action "replaceWithPost"}}
|
||||
@postType={{@postType}}
|
||||
/>
|
||||
|
||||
{{!-- all component cards wormholed into the editor canvas --}}
|
||||
|
@ -5,7 +5,7 @@
|
||||
{{section.title}}
|
||||
</div>
|
||||
{{#each section.items as |item|}}
|
||||
{{#if (card-is-available item)}}
|
||||
{{#if (card-is-available item postType=@postType)}}
|
||||
<div
|
||||
class="{{if (eq item @selectedItem) "kg-cardmenu-card-selected"}} {{kg-style "cardmenu-card"}}"
|
||||
data-kg="cardmenu-card"
|
||||
|
@ -12,6 +12,7 @@
|
||||
<KoenigMenuContent
|
||||
@itemSections={{this.itemSections}}
|
||||
@itemClicked={{action "itemClicked"}}
|
||||
@postType={{@postType}}
|
||||
/>
|
||||
</div>
|
||||
{{/if}}
|
@ -6,7 +6,7 @@ export default class CardIsAvailableHelper extends Helper {
|
||||
@service config;
|
||||
@service feature;
|
||||
|
||||
compute([card]) {
|
||||
compute([card], {postType} = {}) {
|
||||
let cardIsAvailable = true;
|
||||
|
||||
if (card.developerExperiment) {
|
||||
@ -17,6 +17,10 @@ export default class CardIsAvailableHelper extends Helper {
|
||||
cardIsAvailable = get(this.feature, card.feature);
|
||||
}
|
||||
|
||||
if (postType && card.postType) {
|
||||
cardIsAvailable = card.postType === postType;
|
||||
}
|
||||
|
||||
return cardIsAvailable;
|
||||
}
|
||||
}
|
||||
|
@ -121,7 +121,8 @@ export const CARD_MENU = [
|
||||
desc: 'Only visible when delivered by email',
|
||||
matches: ['email'],
|
||||
type: 'card',
|
||||
replaceArg: 'email'
|
||||
replaceArg: 'email',
|
||||
postType: 'post'
|
||||
},
|
||||
{
|
||||
label: 'Email call to action',
|
||||
@ -129,7 +130,8 @@ export const CARD_MENU = [
|
||||
desc: 'Target free or paid members with a CTA',
|
||||
matches: ['email', 'cta'],
|
||||
type: 'card',
|
||||
replaceArg: 'email-cta'
|
||||
replaceArg: 'email-cta',
|
||||
postType: 'post'
|
||||
},
|
||||
{
|
||||
label: 'Public preview',
|
||||
|
Loading…
Reference in New Issue
Block a user