Ghost/ghost/admin/lib/koenig-editor/addon/templates/components/koenig-card-markdown.hbs
Kevin Ansfield 2231dd84c2 Migrated to <AngleBracketSyntax /> (#1460)
no issue

Ember is migrating to `<AngleBracketSyntax />` for component invocation, see https://github.com/emberjs/rfcs/blob/master/text/0311-angle-bracket-invocation.md

We were in a half-way situation where some templates used angle bracket syntax in some places, this PR updates templates to use the syntax everywhere.

This simplifies the rules for what template code is referring to...

`<Component>` = a component
`{{helper}}` = a helper (or locally assigned handlebars variable)
`{{this.foo}}` = data on the template backing context (a component/controller)
`{{@foo}}` = a named argument passed into the component that the component backing class has not modified (note: this commit does not introduce any named arguments)

- ran codemod https://github.com/ember-codemods/ember-angle-brackets-codemod on the following directories:
  - `app/templates`
  - `lib/koenig-editor/addon/templates`
- removed positional params from components as angle bracket syntax does not support them
  - `gh-feature-flag`
  - `gh-tour-item`
  - `gh-cm-editor`
  - `gh-fullscreen-modal`
  - `gh-task-button`
- updates some code that was missed in 3c851293c1 to use explicit this
2020-01-16 15:14:03 +00:00

97 lines
3.8 KiB
Handlebars

<KoenigCard
@icon="koenig/card-indicator-markdown"
@class={{concat (kg-style "container-card") " koenig-card-markdown-rendered"}}
@headerOffset={{this.headerOffset}}
@toolbar={{this.toolbar}}
@payload={{this.payload}}
@isSelected={{this.isSelected}}
@isEditing={{this.isEditing}}
@onEnterEdit={{action "enterEditMode"}}
@onLeaveEdit={{action "leaveEditMode"}}
@selectCard={{action this.selectCard}}
@deselectCard={{action this.deselectCard}}
@editCard={{action this.editCard}}
@saveCard={{action this.saveCard}}
@editor={{this.editor}}
>
{{#if this.isEditing}}
<GhEditor as |editor|>
<GhScrollTrigger
@triggerOffset={{hash bottom=this.bottomOffset}}
@enter={{action "topEntered"}}
@exit={{action "topExited"}}
@registerElement={{action "registerTop"}}
/>
<GhMarkdownEditor
@markdown={{readonly this.payload.markdown}}
@onChange={{action "updateMarkdown"}}
@autofocus={{true}}
@enableSideBySide={{false}}
@enablePreview={{false}}
@enableHemingway={{false}}
@options={{hash status=false}}
@uploadedImageUrls={{editor.uploadedImageUrls}}
@onImageFilesSelected={{action editor.uploadImages}}
@imageMimeTypes={{editor.imageMimeTypes}}
as |markdown|
>
{{markdown.editor}}
</GhMarkdownEditor>
<GhScrollTrigger
@enter={{action "bottomEntered"}}
@exit={{action "bottomExited"}}
@registerElement={{action "registerBottom"}}
/>
{{!-- files are dragged over editor pane --}}
{{#if editor.isDraggedOver}}
<div class="drop-target gh-editor-drop-target">
<div class="drop-target-message">
<h3>Drop image(s) here to upload</h3>
</div>
</div>
{{/if}}
{{!-- files have been dropped ready to be uploaded --}}
{{#if editor.droppedFiles}}
<GhUploader
@files={{editor.droppedFiles}}
@accept={{editor.imageMimeTypes}}
@extensions={{editor.imageExtensions}}
@onComplete={{action editor.uploadComplete}}
@onCancel={{action editor.uploadCancelled}}
as |upload|
>
<div class="gh-editor-image-upload {{if upload.errors "-error"}}">
<div class="gh-editor-image-upload-content">
{{#if upload.errors}}
<h3>Upload failed</h3>
{{#each upload.errors as |error|}}
<div class="failed">{{error.fileName}} - {{error.message}}</div>
{{/each}}
<button class="gh-btn gh-btn-grey gh-btn-icon" {{action upload.cancel}}>
<span>{{svg-jar "close"}} Close</span>
</button>
{{else}}
<h3>Uploading {{pluralize upload.files.length "image"}}...</h3>
{{upload.progressBar}}
{{/if}}
</div>
</div>
</GhUploader>
{{/if}}
</GhEditor>
{{#if this.preventClick}}
<div class="absolute absolute--fill z-max"></div>
{{/if}}
{{else}}
{{this.renderedMarkdown}}
<div class="absolute absolute--fill z-999"></div>
{{/if}}
</KoenigCard>