mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-11-30 11:54:33 +03:00
7c3d75ade7
fixes https://github.com/TryGhost/Team/issues/2193 - When pasting a title with a newline, we now trim the string and clear newslines before pasting. - When sending the slug to the backend to generate a unique slug, we now sluggify it in the frontend before adding it to the URL to prevent issues with unsupported characters (causing possible routing problems in Pro).
61 lines
2.6 KiB
Handlebars
61 lines
2.6 KiB
Handlebars
<div class="gh-koenig-editor relative w-100 vh-100 overflow-x-hidden overflow-y-auto z-0" {{did-insert this.registerElement}} ...attributes>
|
|
{{!-- full height content pane --}}
|
|
{{!-- template-lint-disable no-down-event-binding no-invalid-interactive no-passed-in-event-handlers --}}
|
|
<div
|
|
class="gh-koenig-editor-pane flex flex-column mih-100"
|
|
{{on "mousedown" this.trackMousedown}}
|
|
{{on "mouseup" this.focusEditor}}
|
|
>
|
|
<GhEditorFeatureImage
|
|
@image={{@featureImage}}
|
|
@updateImage={{@setFeatureImage}}
|
|
@clearImage={{@clearFeatureImage}}
|
|
@alt={{@featureImageAlt}}
|
|
@updateAlt={{@setFeatureImageAlt}}
|
|
@caption={{@featureImageCaption}}
|
|
@updateCaption={{@setFeatureImageCaption}}
|
|
@forceButtonDisplay={{or (not @title) (eq @title "(Untitled)") this.titleIsHovered this.titleIsFocused}}
|
|
/>
|
|
|
|
<GhTextarea
|
|
@class="gh-editor-title"
|
|
@placeholder={{@titlePlaceholder}}
|
|
@shouldFocus={{or @titleAutofocus false}}
|
|
@tabindex="1"
|
|
@autoExpand=".gh-koenig-editor"
|
|
@value={{readonly this.title}}
|
|
@input={{this.updateTitle}}
|
|
@focus-out={{optional @onTitleBlur}}
|
|
@keyDown={{this.onTitleKeydown}}
|
|
@didCreateTextarea={{this.registerTitleElement}}
|
|
{{on "focus" (fn (mut this.titleIsFocused) true)}}
|
|
{{on "blur" (fn (mut this.titleIsFocused) false)}}
|
|
{{on "mouseover" (fn (mut this.titleIsHovered) true)}}
|
|
{{on "mouseleave" (fn (mut this.titleIsHovered) false)}}
|
|
{{on "paste" this.cleanPastedTitle}}
|
|
data-test-editor-title-input={{true}}
|
|
/>
|
|
|
|
<KoenigEditor
|
|
@mobiledoc={{@body}}
|
|
@placeholder={{@bodyPlaceholder}}
|
|
@spellcheck={{true}}
|
|
@onChange={{@onBodyChange}}
|
|
@didCreateEditor={{this.onEditorCreated}}
|
|
@cursorDidExitAtTop={{this.focusTitle}}
|
|
@headerOffset={{@headerOffset}}
|
|
@dropTargetSelector=".gh-koenig-editor-pane"
|
|
@scrollContainerSelector={{@scrollContainerSelector}}
|
|
@scrollOffsetTopSelector={{@scrollOffsetTopSelector}}
|
|
@scrollOffsetBottomSelector={{@scrollOffsetBottomSelector}}
|
|
@wordCountDidChange={{@onWordCountChange}}
|
|
@snippets={{@snippets}}
|
|
@saveSnippet={{@saveSnippet}}
|
|
@updateSnippet={{@updateSnippet}}
|
|
@deleteSnippet={{@deleteSnippet}}
|
|
@cardOptions={{@cardOptions}}
|
|
@postType={{@postType}}
|
|
/>
|
|
</div>
|
|
</div>
|