Ghost/ghost/admin/app/templates/pages.hbs
Kevin Ansfield d6c22df6d7 🎨 Separated post and page list screens (#1101)
no issue
- added `page` model
- removed `page` param from Post model
- added pages screen with associated links
- added `:type` param to editor screens to work with the right models
- removed post<->page toggle and associated tour item
2019-02-22 10:17:33 +07:00

119 lines
4.6 KiB
Handlebars

<section class="gh-canvas">
<header class="gh-canvas-header">
<h2 class="gh-canvas-title" data-test-screen-title>Your pages</h2>
<section class="view-actions">
{{#link-to "editor.new" "page" class="gh-btn gh-btn-green" data-test-new-page-button=true}}<span>New page</span>{{/link-to}}
</section>
</header>
<div class="gh-contentfilter">
<div class="gh-contentfilter-left">
{{#unless session.user.isContributor}}
{{#power-select
selected=selectedType
options=availableTypes
searchEnabled=false
onchange=(action "changeType")
tagName="div"
classNames="gh-contentfilter-menu gh-contentfilter-type"
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 session.user.isAuthorOrContributor}}
{{#power-select
selected=selectedAuthor
options=availableAuthors
searchField="name"
onchange=(action "changeAuthor")
tagName="div"
classNames="gh-contentfilter-menu gh-contentfilter-author"
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 session.user.isContributor}}
{{#power-select
selected=selectedTag
options=availableTags
searchField="name"
onchange=(action "changeTag")
tagName="div"
classNames="gh-contentfilter-menu gh-contentfilter-tag"
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}}
</div>
<div class="gh-contentfilter-right">
Sort by:
{{#power-select
selected=selectedOrder
options=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"
horizontalPosition="right"
matchTriggerWidth=false
data-test-order-select=true
as |order|
}}
{{order.name}}
{{/power-select}}
</div>
</div>
<section class="content-list">
<ol class="posts-list">
{{#each postsInfinityModel as |page|}}
{{gh-posts-list-item
post=page
onDoubleClick=(action "openEditor")
data-test-page-id=page.id}}
{{else}}
<li class="no-posts-box">
<div class="no-posts">
{{#if showingAll}}
<h3>You haven't created any pages yet!</h3>
{{#link-to "editor.new" "page"}}<button type="button" class="gh-btn gh-btn-green gh-btn-lg"><span>Create a new page</span></button>{{/link-to}}
{{else}}
<h3>No pages match the current filter</h3>
{{#link-to "pages.index" (query-params type=null author=null tag=null)}}<button type="button" class="gh-btn gh-btn-lg"><span>Show all pages</span></button>{{/link-to}}
{{/if}}
</div>
</li>
{{/each}}
</ol>
{{gh-infinity-loader
infinityModel=postsInfinityModel
scrollable=".gh-main"
triggerOffset=1000}}
</section>
{{outlet}}
</section>