Ghost/ghost/admin/app/templates/editor/edit.hbs
Ryan McCarvill daad5ab17b Multi line title. (#595)
refs https://github.com/TryGhost/Ghost/issues/7754

The title is now a contenteditable div which stretches and wraps to behave like the editor.

It also tries to seemlessly move the cursor between the editor and title to make one coherent editing experience.
2017-03-21 23:42:14 +00:00

95 lines
3.1 KiB
Handlebars

<section class="gh-view">
<header class="gh-editor-header">
<div class="gh-editor-status">
{{#if model.isPublished}}
Published
{{else if model.isScheduled}}
Scheduled
{{else}}
Draft
{{/if}}
</div>
<section class="view-actions">
{{gh-editor-save-button
isPublished=model.isPublished
isScheduled=model.isScheduled
willPublish=willPublish
willSchedule=willSchedule
statusFreeze=statusFreeze
scheduledWillPublish=scheduledWillPublish
timeScheduled=model.timeScheduled
postOrPage=postOrPage
isNew=model.isNew
save="save"
setSaveType="setSaveType"
delete="toggleDeletePostModal"
submitting=submitting
}}
<button type="button" class="post-settings" title="Settings" {{action "openSettingsMenu"}}>
<i class="icon-settings"></i>
</button>
</section>
</header>
<div class="gh-editor-container">
<div class="gh-editor-inner">
{{gh-editor-title
val=(readonly model.titleScratch)
onChange=(action (mut model.titleScratch))
tabindex="1"
shouldFocus=shouldFocusTitle
focus-out="updateTitle"
update=(action (perform updateTitle))
id='gh-editor-title'
}}
{{#if scheduleCountdown}}
<time datetime="{{post.publishedAtUTC}}" class="gh-notification gh-notification-schedule">
Post will be published {{scheduleCountdown}}.
</time>
{{/if}}
{{gh-koenig
value=(readonly model.scratch)
onChange=(action (mut model.scratch))
onFirstChange=(action "autoSaveNew")
onTeardown=(action "cancelTimers")
shouldFocusEditor=shouldFocusEditor
apiRoot=apiRoot
assetPath=assetPath
tabindex=2
containerSelector='.gh-editor-container'
titleQuery='#gh-editor-title div'
}}
</div>
</div>
</section>
{{#if showDeletePostModal}}
{{gh-fullscreen-modal "delete-post"
model=(hash post=model onSuccess=(route-action 'redirectToContentScreen'))
close=(action "toggleDeletePostModal")
modifier="action wide"}}
{{/if}}
{{#if showLeaveEditorModal}}
{{gh-fullscreen-modal "leave-editor"
confirm=(action "leaveEditor")
close=(action "toggleLeaveEditorModal")
modifier="action wide"}}
{{/if}}
{{#if showReAuthenticateModal}}
{{gh-fullscreen-modal "re-authenticate"
close=(action "toggleReAuthenticateModal")
modifier="action wide"}}
{{/if}}
{{#liquid-wormhole}}
{{gh-post-settings-menu
model=model
showSettingsMenu=application.showSettingsMenu
closeNavMenu=(action "closeNavMenu")
closeMenus=(action "closeMenus")
}}
{{/liquid-wormhole}}