app/templates/prefixes/index.hbs
{{#if (can 'read index')}}
<ApplicationHeader @default={{true}} />
<div class="container-fluid">
<IndexHeader />
{{!-- {{#if (can "read messages" model)}} --}}
<div class="row">
<div class="col-md-9" style="margin-left: 10px; margin-right: 10px;">
{{#each this.flashMessages.queue as |flash|}}
<FlashMessage @flash={{flash}} />
{{/each}}
</div>
</div>
{{!-- {{/if}} --}}
<div class="col-md-3">
{{#if (can 'write prefix')}}
<div class="panel facets">
<div class="panel-body">
<div class="btn-toolbar">
<div class="btn-group btn-group-sm">
<LinkTo
@route="prefixes.new"
class="btn btn-warning"
id="add-prefixes"
>
<i class="fas fa-link"></i>
Add Prefixes
</LinkTo>
</div>
</div>
</div>
</div>
{{else}}
<div class="panel panel-transparent">
<div class="panel-body">
<div class="edit"></div>
</div>
</div>
{{/if}}
{{#if this.model.meta.states}}
<div class="panel facets add">
<div class="panel-body">
<h4>
State
<span class="small">
<i class="fas fa-question-circle"></i>
<BsTooltip @renderInPlace={{true}} @placement="top">
Filter prefixes by whether they have been assigned to a provider and/or repository.
</BsTooltip>
</span>
</h4>
<ul>
{{#each this.model.meta.states as |state|}}
<li>
{{#if this.model.query.state}}
<LinkTo @route="prefixes" @query={{hash state=null}}>
<i class="far fa-check-square"></i>
</LinkTo>
{{else}}
<LinkTo
id="prefix-{{state.id}}"
@route="prefixes"
@query={{hash state=state.id}}
>
<i class="far fa-square"></i>
</LinkTo>
{{/if}}
<div class="facet-title">
{{state.title}}
</div>
<span class="number pull-right">
{{state.count}}
</span>
<div class="clearfix"></div>
</li>
{{/each}}
</ul>
</div>
</div>
{{/if}}
{{#if this.model.meta.years}}
<div class="panel facets add">
<div class="panel-body">
<h4>
Year created
</h4>
<ul>
{{#each this.model.meta.years as |year|}}
<li>
{{#if this.model.query.year}}
<LinkTo @route="prefixes" @query={{hash year=null}}>
<i class="far fa-check-square"></i>
</LinkTo>
{{else}}
<LinkTo @route="prefixes" @query={{hash year=year.id}}>
<i class="far fa-square"></i>
</LinkTo>
{{/if}}
<div class="facet-title">
{{year.title}}
</div>
<span class="number pull-right">
{{year.count}}
</span>
<div class="clearfix"></div>
</li>
{{/each}}
</ul>
</div>
</div>
{{/if}}
{{#if this.model.meta.providers}}
<div class="panel facets">
<div class="panel-body">
<h4>
Member
</h4>
<ul>
{{#each this.model.meta.providers as |provider|}}
<li>
{{#if this.model.query.provider-id}}
<LinkTo @route="prefixes" @query={{hash provider-id=null}}>
<i class="far fa-check-square"></i>
</LinkTo>
{{else}}
<LinkTo
@route="prefixes"
@query={{hash provider-id=provider.id}}
>
<i class="far fa-square"></i>
</LinkTo>
{{/if}}
<div class="facet-title">
{{provider.title}}
</div>
<span class="number pull-right">
{{provider.count}}
</span>
<div class="clearfix"></div>
</li>
{{/each}}
</ul>
</div>
</div>
{{/if}}
</div>
<div class="col-md-9 panel-list" id="content">
<ModelSearch
@model={{this.model}}
@name="Prefix"
@sortable={{true}}
@link="prefixes"
/>
{{#if this.model}}
{{#each this.model as |prefix|}}
<div class="panel panel-transparent" data-test-prefix>
<div class="panel-body">
<h3 class="member">
{{prefix.id}}
</h3>
<h5>
{{pluralize prefix.providers.length 'Member' without-count=true
}}
</h5>
{{#if prefix.providers}}
{{#each prefix.providers as |provider|}}
<LinkTo
@route="providers.show.prefixes.show"
@models={{array provider.id prefix.id}}
>
{{provider.name}}
</LinkTo>
<br />
{{/each}}
{{else}}
<span class="icon-warning">
No member found.
</span>
{{/if}}
<h5>
{{pluralize
prefix.repositories.length
'Repository'
without-count=true
}}
</h5>
{{#if prefix.repositories}}
{{#each prefix.repositories as |repository|}}
<LinkTo
@route="repositories.show.prefixes.show"
@models={{array repository.id prefix.id}}
>
{{repository.name}}
</LinkTo>
<br />
{{/each}}
{{#if this.features.useElasticsearch}}
<h5>
DOIs
</h5>
<LinkTo @route="dois" @query={{hash prefix=prefix.id}}>
DOIs for prefix
{{prefix.id}}
</LinkTo>
{{/if}}
{{else}}
<span class="icon-warning">
No repository found.
</span>
{{/if}}
<h5>
Created
</h5>
{{format-time
prefix.createdAt
year='numeric'
month='long'
day='numeric'
hour='numeric'
minute='numeric'
second='numeric'
timeZone='UTC'
timeZoneName='short'
hour12=false
}}
</div>
</div>
{{/each}}
<div class="text-center">
{{#if (gt this.model.meta.totalPages 1)}}
<PageNumbers @model={{this.model}} @link="prefixes" />
{{/if}}
</div>
{{else}}
<BsAlert @dismissible={{false}} @type="warning">
No prefixes found.
</BsAlert>
{{/if}}
</div>
</div>
{{else}}
<ApplicationHeader /><LandingPage />
{{/if}}