Ghost/ghost/admin/app/templates/pages.hbs
Kevin Ansfield 0f8610a6e9 Extracted duplicated posts/pages filter into a component
no issue

- posts and pages (and their corresponding `-loading` counterparts) templates were all duplicating a lengthy section of handlebars
- extracted the duplicated handlebars into a template for easier design changes or upgrading of `ember-power-select`
- moved generation of the "selected" CSS classes into the template to clean up code in the controller
2020-01-15 15:15:20 +00:00

67 lines
2.9 KiB
Handlebars

<section class="gh-canvas">
<GhCanvasHeader class="gh-canvas-header post-header">
<h2 class="gh-canvas-title" data-test-screen-title>Pages</h2>
<section class="view-actions">
<GhContentfilter
@selectedType={{this.selectedType}}
@availableTypes={{this.availableTypes}}
@onTypeChange={{action "changeType"}}
@selectedAuthor={{this.selectedAuthor}}
@availableAuthors={{this.availableAuthors}}
@onAuthorChange={{action "changeAuthor"}}
@selectedTag={{this.selectedTag}}
@availableTags={{this.availableTags}}
@onTagChange={{action "changeTag"}}
@selectedOrder={{this.selectedOrder}}
@availableOrders={{this.availableOrders}}
@onOrderChange={{action "changeOrder"}}
/>
{{#link-to "editor.new" "page" class="gh-btn gh-btn-green" data-test-new-page-button=true}}<span>New page</span>{{/link-to}}
</section>
</GhCanvasHeader>
<section class="content-list">
<ol class="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 |page|}}
{{gh-posts-list-item
post=page
data-test-page-id=page.id}}
{{else}}
<li class="no-posts-box">
<div class="no-posts">
{{#if this.showingAll}}
{{svg-jar "pages-placeholder" class="gh-pages-placeholder"}}
<h3>You haven't created any pages yet!</h3>
{{#link-to "editor.new" "page" class="gh-btn gh-btn-green gh-btn-lg"}}
<span>Create a new page</span>
{{/link-to}}
{{else}}
<h3>No pages match the current filter</h3>
{{#link-to "pages" (query-params type=null author=null tag=null) class="gh-btn gh-btn-lg"}}
<span>Show all pages</span>
{{/link-to}}
{{/if}}
</div>
</li>
{{/each}}
</ol>
{{gh-infinity-loader
infinityModel=this.postsInfinityModel
scrollable=".gh-main"
triggerOffset=1000}}
</section>
{{outlet}}
</section>