datacite/bracco

View on GitHub
app/templates/repositories/show/prefixes/index.hbs

Summary

Maintainability
Test Coverage
<div class="row">
  <div data-test-left-sidebar class="col-md-3">
    {{#if (and this.model.repository.isActive (or (can 'create doi' this.model) (can 'upload doi' this.model)) (not (gt this.model.repository-prefixes.length 0)))}}
      <div class="panel panel-transparent">
        <div class="panel-body">
          <BsAlert @dismissible={{false}} @type="warning">
            Can't create DOI without a prefix.
          </BsAlert>
        </div>
      </div>
    {{/if}}

    {{#if this.model.repository.isActive}}
      {{#if (can 'write index')}}
        <div class="panel facets add-25">
          <div class="panel-body">
            <div class="btn-toolbar">
              <div class="shrink">
                {{#if (and this.model.repository.isActive (or (can 'create doi' this.model) (can 'upload doi' this.model)) (gt this.model.repository-prefixes.length 0))}}
                  <CreateDoiButton @model={{this.model}} class="create-doi-button" />
                {{/if}}
                <div class="btn-group-vertical btn-group-sm">
                  <LinkTo
                    @route="repositories.show.prefixes.new"
                    @model={{this.model.repository.id}}
                    class="btn btn-warning"
                    id="assign-prefix"
                    @disabled={{if (eq (await (prefixes-available this.model.provider.id)) 0) "true" ""}}
                  >
                    <i class="fas fa-link"></i>
                    Assign Prefix
                  </LinkTo>
                </div>
              </div>
            </div>
          </div>
        </div>
      {{else}}
        <div class="panel facets add-25">
          <div class="panel-body">
            <div class="btn-toolbar">
              <div class="shrink">
                {{#if (and this.model.repository.isActive (or (can 'create doi' this.model) (can 'upload doi' this.model)) (gt this.model.repository-prefixes.length 0))}}
                  <CreateDoiButton @model={{this.model}} class="create-doi-button" />
                {{/if}}
              </div>
            </div>
          </div>
        </div>
      {{/if}}
    {{else if (not this.model.repository.isActive)}}

    {{/if}}
    {{#if this.model.repository-prefixes.meta.years}}
      <div class="panel facets add">
        <div class="panel-body">
          <h4>
            Year created
          </h4>
          <ul>
            {{#each this.model.repository-prefixes.meta.years as |year|}}
              <li>
                {{#if this.model.repository-prefixes.query.year}}
                  <LinkTo
                    @route="repositories.show.prefixes"
                    @query={{hash year=null}}
                  >
                    <i class="far fa-check-square"></i>
                  </LinkTo>
                {{else}}
                  <LinkTo
                    @route="repositories.show.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}}
  </div>
  <div class="col-md-9 panel-list" id="content">
    <ModelSearch
      @model={{this.model.repository-prefixes}}
      @name="Prefix"
      @link="repositories.show.prefixes"
    />
    {{#if this.model.repository-prefixes}}
      {{#each this.model.repository-prefixes as |repositoryPrefix|}}
        <div class="panel panel-transparent" data-test-prefix>
          <div class="panel-body">
            {{#if (and (can 'update prefix' this.model) this.model.isActive)}}
              <h3 class="work">
                <LinkTo
                  id={{repositoryPrefix.prefix.id}}
                  @route="repositories.show.prefixes.show"
                  @models={{array this.model.repository.id repositoryPrefix.prefix.id}}
                >
                  {{repositoryPrefix.prefix.id}}
                </LinkTo>
              </h3>
            {{else}}
              <h3 class="member">
                {{repositoryPrefix.prefix.id}}
              </h3>
            {{/if}}
            {{#if this.features.useElasticsearch}}
              <h5>
                DOIs
              </h5>
              <LinkTo
                @route="repositories.show.dois"
                @model={{repositoryPrefix.repository.id}}
                @query={{hash prefix=repositoryPrefix.prefix.id}}
              >
                DOIs for prefix
                {{repositoryPrefix.prefix.id}}
              </LinkTo>
            {{/if}}
            <h5>
              Added
            </h5>
            {{format-time
              repositoryPrefix.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.repository-prefixes.meta.totalPages 1)}}
          <PageNumbers
            @model={{this.model.prefixes}}
            @link="repositories.show.prefixes"
          />
        {{/if}}
      </div>
    {{else}}
      <BsAlert @dismissible={{false}} @type="warning">
        No prefixes found.
      </BsAlert>
    {{/if}}
  </div>
</div>