mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-01 13:54:35 +03:00
8b5c18d6e5
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`
112 lines
3.8 KiB
Handlebars
112 lines
3.8 KiB
Handlebars
<div class="koenig-editor__editor-wrapper" data-kg="editor-wrapper">
|
|
<div class="koenig-editor__editor" data-kg="editor"></div>
|
|
</div>
|
|
|
|
{{!-- pop-up markup toolbar is shown when there's a selection --}}
|
|
<KoenigToolbar
|
|
@editor={{this.editor}}
|
|
@editorRange={{this.selectedRange}}
|
|
@activeMarkupTagNames={{this.activeMarkupTagNames}}
|
|
@activeSectionTagNames={{this.activeSectionTagNames}}
|
|
@toggleMarkup={{action "toggleMarkup"}}
|
|
@toggleSection={{action "toggleSection"}}
|
|
@toggleHeaderSection={{action "toggleHeaderSection"}}
|
|
@editLink={{action "editLink"}}
|
|
@addSnippet={{this.addSnippetIfPossible}}
|
|
/>
|
|
|
|
{{!-- pop-up link hover toolbar --}}
|
|
<KoenigLinkToolbar
|
|
@editor={{this.editor}}
|
|
@container={{this.element}}
|
|
@linkRange={{this.linkRange}}
|
|
@selectedRange={{this.selectedRange}}
|
|
@editLink={{action "editLink"}}
|
|
/>
|
|
|
|
{{!-- pop-up link editing toolbar --}}
|
|
{{#if this.linkRange}}
|
|
<KoenigLinkInput
|
|
@editor={{this.editor}}
|
|
@linkRange={{this.linkRange}}
|
|
@linkRect={{this.linkRect}}
|
|
@selectedRange={{this.selectedRange}}
|
|
@cancel={{action "cancelEditLink"}}
|
|
/>
|
|
{{/if}}
|
|
|
|
{{!-- pop-up snippet editing toolbar --}}
|
|
{{#if this.snippetRange}}
|
|
<KoenigSnippetInput
|
|
@editor={{this.editor}}
|
|
@snippetRange={{this.snippetRange}}
|
|
@snippetRect={{this.snippetRect}}
|
|
@snippets={{@snippets}}
|
|
@save={{@saveSnippet}}
|
|
@update={{@updateSnippet}}
|
|
@cancel={{this.cancelAddSnippet}}
|
|
/>
|
|
{{/if}}
|
|
|
|
{{!-- (+) icon and pop-up menu --}}
|
|
<KoenigPlusMenu
|
|
@editor={{this.editor}}
|
|
@editorRange={{this.selectedRange}}
|
|
@snippets={{this.snippets}}
|
|
@deleteSnippet={{this.deleteSnippet}}
|
|
@replaceWithCardSection={{action "replaceWithCardSection"}}
|
|
@replaceWithPost={{action "replaceWithPost"}}
|
|
@postType={{@postType}}
|
|
/>
|
|
|
|
{{!-- slash menu popup --}}
|
|
<KoenigSlashMenu
|
|
@editor={{this.editor}}
|
|
@editorRange={{this.selectedRange}}
|
|
@snippets={{this.snippets}}
|
|
@deleteSnippet={{this.deleteSnippet}}
|
|
@replaceWithCardSection={{action "replaceWithCardSection"}}
|
|
@replaceWithPost={{action "replaceWithPost"}}
|
|
@postType={{@postType}}
|
|
/>
|
|
|
|
{{!-- all component cards wormholed into the editor canvas --}}
|
|
{{#each this.componentCards as |card|}}
|
|
{{#in-element card.destinationElement}}
|
|
{{component card.componentName
|
|
editor=this.editor
|
|
postModel=card.postModel
|
|
cardName=card.cardName
|
|
payload=card.payload
|
|
env=card.env
|
|
options=card.options
|
|
headerOffset=this.headerOffset
|
|
saveCard=(action card.env.save)
|
|
cancelCard=(action card.env.cancel)
|
|
removeCard=(action card.env.remove)
|
|
isSelected=card.isSelected
|
|
isEditing=card.isEditing
|
|
selectCard=(action "selectCard" card)
|
|
deselectCard=(action "deselectCard" card)
|
|
editCard=(action "editCard" card)
|
|
deleteCard=(action "deleteCard" card)
|
|
saveAsSnippet=(if this.saveCardAsSnippetIfPossible (fn this.saveCardAsSnippetIfPossible card))
|
|
moveCursorToPrevSection=(action "moveCursorToPrevSection" card)
|
|
moveCursorToNextSection=(action "moveCursorToNextSection" card)
|
|
addParagraphAfterCard=(action "addParagraphAfterCard" card)
|
|
registerComponent=(action (mut card.component))
|
|
}}
|
|
{{/in-element}}
|
|
{{/each}}
|
|
|
|
{{!-- all component atoms wormholed into the editor canvas --}}
|
|
{{#each this.componentAtoms as |atom|}}
|
|
{{#in-element atom.destinationElement}}
|
|
{{component atom.componentName
|
|
editor=this.editor
|
|
atom=atom
|
|
saveAtom=(fn atom.env.save atom.env.value atom.env.payload)
|
|
registerComponent=(action (mut atom.component))
|
|
}}
|
|
{{/in-element}}
|
|
{{/each}} |