mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-27 12:53:13 +03:00
3c851293c1
no issue We were in a part-way state where some touched files had been (sometimes partially) migrated to explicit `this`. The codemod that was available has now fixed the formatting issues it had so it was a good time to run it. https://github.com/ember-codemods/ember-no-implicit-this-codemod - part of the migration path for https://github.com/emberjs/rfcs/pull/308 - starts to make template resolution rules more explicit - `<MyComponent />` - always a component - `{{my-component}}` - component or helper (components _must_ have a `-`. This style of component will go away once fully migrated to angle bracket components) - `{{value}}` - a helper or local template variable - `{{this.value}}` - reference to a property on the backing context (either a controller or a component JS file)
127 lines
5.3 KiB
Handlebars
127 lines
5.3 KiB
Handlebars
<section class="gh-canvas">
|
|
<GhCanvasHeader class="gh-canvas-header post-header">
|
|
<h2 class="gh-canvas-title" data-test-screen-title>Posts</h2>
|
|
<section class="view-actions">
|
|
<div class="gh-contentfilter">
|
|
{{#unless this.session.user.isContributor}}
|
|
{{#power-select
|
|
selected=this.selectedType
|
|
options=this.availableTypes
|
|
searchEnabled=false
|
|
onchange=(action "changeType")
|
|
tagName="div"
|
|
classNames=this.typeClassNames
|
|
triggerClass="gh-contentfilter-menu-trigger"
|
|
dropdownClass="gh-contentfilter-menu-dropdown"
|
|
matchTriggerWidth=false
|
|
data-test-type-select=true
|
|
as |type|
|
|
}}
|
|
{{type.name}}
|
|
{{/power-select}}
|
|
{{/unless}}
|
|
|
|
{{#unless this.session.user.isAuthorOrContributor}}
|
|
{{#power-select
|
|
selected=this.selectedAuthor
|
|
options=this.availableAuthors
|
|
searchField="name"
|
|
onchange=(action "changeAuthor")
|
|
tagName="div"
|
|
classNames=this.authorClassNames
|
|
triggerClass="gh-contentfilter-menu-trigger"
|
|
dropdownClass="gh-contentfilter-menu-dropdown"
|
|
searchPlaceholder="Search authors"
|
|
matchTriggerWidth=false
|
|
data-test-author-select=true
|
|
as |author|
|
|
}}
|
|
{{author.name}}
|
|
{{/power-select}}
|
|
{{/unless}}
|
|
|
|
{{#unless this.session.user.isContributor}}
|
|
{{#power-select
|
|
selected=this.selectedTag
|
|
options=this.availableTags
|
|
searchField="name"
|
|
onchange=(action "changeTag")
|
|
tagName="div"
|
|
classNames=this.tagClassNames
|
|
triggerClass="gh-contentfilter-menu-trigger"
|
|
dropdownClass="gh-contentfilter-menu-dropdown"
|
|
searchPlaceholder="Search tags"
|
|
matchTriggerWidth=false
|
|
optionsComponent="power-select-vertical-collection-options"
|
|
data-test-tag-select=true
|
|
as |tag|
|
|
}}
|
|
{{tag.name}}
|
|
{{/power-select}}
|
|
{{/unless}}
|
|
|
|
{{#power-select
|
|
selected=this.selectedOrder
|
|
options=this.availableOrders
|
|
searchEnabled=false
|
|
onchange=(action "changeOrder")
|
|
tagName="div"
|
|
classNames="gh-contentfilter-menu gh-contentfilter-sort"
|
|
triggerClass="gh-contentfilter-menu-trigger"
|
|
dropdownClass="gh-contentfilter-menu-dropdown"
|
|
matchTriggerWidth=false
|
|
data-test-order-select=true
|
|
as |order|
|
|
}}
|
|
{{order.name}}
|
|
{{/power-select}}
|
|
</div>
|
|
|
|
{{#link-to "editor.new" "post" class="gh-btn gh-btn-green" data-test-new-post-button=true}}<span>New post</span>{{/link-to}}
|
|
</section>
|
|
</GhCanvasHeader>
|
|
|
|
<section class="content-list">
|
|
<ol class="posts-list gh-list {{unless this.postsInfinityModel "no-posts"}}">
|
|
{{#if this.postsInfinityModel}}
|
|
<li class="gh-list-row header">
|
|
<div class="gh-list-header no-padding">{{!--Favorite indicator column: no header--}}</div>
|
|
<div class="gh-list-header gh-posts-title-header">Title</div>
|
|
<div class="gh-list-header gh-posts-status-header">Status</div>
|
|
<div class="gh-list-header gh-posts-lastupdate-header">Last update</div>
|
|
</li>
|
|
{{/if}}
|
|
|
|
{{#each this.postsInfinityModel as |post|}}
|
|
{{gh-posts-list-item
|
|
post=post
|
|
data-test-post-id=post.id}}
|
|
{{else}}
|
|
<li class="no-posts-box">
|
|
<div class="no-posts">
|
|
{{#if this.showingAll}}
|
|
{{svg-jar "posts-placeholder" class="gh-posts-placeholder"}}
|
|
<h3>You haven't written any posts yet!</h3>
|
|
{{#link-to "editor.new" "post" class="gh-btn gh-btn-green gh-btn-lg"}}
|
|
<span>Write a new post</span>
|
|
{{/link-to}}
|
|
{{else}}
|
|
<h3>No posts match the current filter</h3>
|
|
{{#link-to "posts" (query-params type=null author=null tag=null) class="gh-btn gh-btn-lg"}}
|
|
<span>Show all posts</span>
|
|
{{/link-to}}
|
|
{{/if}}
|
|
</div>
|
|
</li>
|
|
{{/each}}
|
|
</ol>
|
|
|
|
{{gh-infinity-loader
|
|
infinityModel=this.postsInfinityModel
|
|
scrollable=".gh-main"
|
|
triggerOffset=1000}}
|
|
</section>
|
|
|
|
{{outlet}}
|
|
</section>
|