datacite/bracco

View on GitHub
app/templates/components/organization-list.hbs

Summary

Maintainability
Test Coverage
<div class="col-md-3">
  {{#if (can 'create organization' this.model)}}
    <div class="panel facets">
      <div class="panel-body">
        <div class="btn-toolbar">
          <div class="btn-group btn-group-sm">
            <LinkTo
              @route="providers.show.organizations.new"
              @model={{this.model.provider.id}}
              class="btn btn-warning"
              id="add-organization"
            >
              <i class="fas fa-plus"></i>
              Add
              {{if this.media.isXl 'Consortium '}}
              Organization
            </LinkTo>
          </div>
        </div>
      </div>
    </div>
  {{else}}
    <div class="panel panel-transparent">
      <div class="panel-body">
        <div class="edit"></div>
      </div>
    </div>
  {{/if}}
  {{#if (or this.model.organizations.meta.years this.model.organizations.query.year)}}
    <div class="panel facets add">
      <div class="panel-body">
        <h4>
          Year joined
        </h4>
        <ul>
          {{#if this.model.organizations.meta.years}}
            {{#each this.model.organizations.meta.years as |year|}}
              <li>
                {{#if this.model.organizations.query.year}}
                  <LinkTo @route={{this.link}} @query={{hash year=''}}>
                    <i class="far fa-check-square"></i>
                  </LinkTo>
                {{else}}
                  <LinkTo @route={{this.link}} @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}}
          {{else}}
            <li>
              <LinkTo @route={{this.link}} @query={{hash year=''}}>
                <i class="far fa-check-square"></i>
              </LinkTo>
              <div class="facet-title">
                {{this.model.query.year}}
              </div>
              <span class="number pull-right">
                0
              </span>
              <div class="clearfix"></div>
            </li>
          {{/if}}
        </ul>
      </div>
    </div>
  {{/if}}
  {{#if (or this.model.organizations.meta.regions this.model.organizations.query.region)}}
    <div class="panel facets">
      <div class="panel-body">
        <h4>
          Region
        </h4>
        <ul>
          {{#if this.model.organizations.meta.regions}}
            {{#each this.model.organizations.meta.regions as |region|}}
              <li>
                {{#if this.model.organizations.query.region}}
                  <LinkTo @route={{this.link}} @query={{hash region=''}}>
                    <i class="far fa-check-square"></i>
                  </LinkTo>
                {{else}}
                  <LinkTo @route={{this.link}} @query={{hash region=region.id}}>
                    <i class="far fa-square"></i>
                  </LinkTo>
                {{/if}}
                <div class="facet-title">
                  {{region.title}}
                </div>
                <span class="number pull-right">
                  {{region.count}}
                </span>
                <div class="clearfix"></div>
              </li>
            {{/each}}
          {{else}}
            <li>
              <LinkTo @route={{this.link}} @query={{hash region=''}}>
                <i class="far fa-check-square"></i>
              </LinkTo>
              <div class="facet-title">
                {{this.model.query.region}}
              </div>
              <span class="number pull-right">
                0
              </span>
              <div class="clearfix"></div>
            </li>
          {{/if}}
        </ul>
      </div>
    </div>
  {{/if}}
  {{#if (can 'create organization')}}
    {{#if
      (or
        this.model.organizations.meta.organizationTypes
        this.model.organizations.query.organization-type
      )
    }}
      <div class="panel facets">
        <div class="panel-body">
          <h4>
            Organization Type
          </h4>
          <ul>
            {{#if this.model.organizations.meta.organizationTypes}}
              {{#each
                this.model.organizations.meta.organizationTypes as |organizationType|
              }}
                <li>
                  {{#if this.model.organizations.query.organization-type}}
                    <LinkTo
                      @route={{this.link}}
                      @query={{hash organization-type=''}}
                    >
                      <i class="far fa-check-square"></i>
                    </LinkTo>
                  {{else}}
                    <LinkTo
                      @route={{this.link}}
                      @query={{hash organization-type=organizationType.id}}
                    >
                      <i class="far fa-square"></i>
                    </LinkTo>
                  {{/if}}
                  <div class="facet-title">
                    {{organizationType.title}}
                  </div>
                  <span class="number pull-right">
                    {{organizationType.count}}
                  </span>
                  <div class="clearfix"></div>
                </li>
              {{/each}}
            {{else}}
              <li>
                <LinkTo @route={{this.link}} @query={{hash organization-type=''}}>
                  <i class="far fa-check-square"></i>
                </LinkTo>
                <div class="facet-title">
                  {{this.model.query.organization-type}}
                </div>
                <span class="number pull-right">
                  0
                </span>
                <div class="clearfix"></div>
              </li>
            {{/if}}
          </ul>
        </div>
      </div>
    {{/if}}
    {{#if
      (or
        this.model.organizations.meta.focusAreas this.model.organizations.query.focus-area
      )
    }}
      <div class="panel facets">
        <div class="panel-body">
          <h4>
            Focus Area
          </h4>
          <ul>
            {{#if this.model.organizations.meta.focusAreas}}
              {{#each this.model.organizations.meta.focusAreas as |focusArea|}}
                <li>
                  {{#if this.model.organizations.query.focus-area}}
                    <LinkTo @route={{this.link}} @query={{hash focus-area=''}}>
                      <i class="far fa-check-square"></i>
                    </LinkTo>
                  {{else}}
                    <LinkTo
                      @route={{this.link}}
                      @query={{hash focus-area=focusArea.id}}
                    >
                      <i class="far fa-square"></i>
                    </LinkTo>
                  {{/if}}
                  <div class="facet-title">
                    {{focusArea.title}}
                  </div>
                  <span class="number pull-right">
                    {{focusArea.count}}
                  </span>
                  <div class="clearfix"></div>
                </li>
              {{/each}}
            {{else}}
              <li>
                <LinkTo @route={{this.link}} @query={{hash focus-area=''}}>
                  <i class="far fa-check-square"></i>
                </LinkTo>
                <div class="facet-title">
                  {{this.model.organizations.query.focus-area}}
                </div>
                <span class="number pull-right">
                  0
                </span>
                <div class="clearfix"></div>
              </li>
            {{/if}}
          </ul>
        </div>
      </div>
    {{/if}}
  {{/if}}
</div>
<div class="col-md-9 panel-list" id="content">
  {{#if this.searchable}}
    <ModelSearch
      @model={{this.model.organizations}}
      @name="Consortium Organization"
      @sortable={{true}}
      @link="providers.show.organizations"
    />
  {{/if}}
  {{#if this.model.organizations}}
    {{#each this.model.organizations as |provider|}}
      <div class="panel panel-transparent" data-test-organization>
        <div class="panel-body">
          <h3 class="work">
            <LinkTo @route="providers.show" @model={{provider.id}}>
              {{provider.displayName}}
            </LinkTo>
            {{#unless provider.isActive}}
              <span class="label label-warning-inv">
                Inactive
              </span>
            {{/unless}}
          </h3>
          <h5>
            Member ID
          </h5>
          {{provider.symbol}}
          {{#if provider.rorId}}
            <h5>
              ROR ID
            </h5>
            <a href="{{provider.rorId}}">
              {{provider.rorId}}
            </a>
          {{/if}}
          {{#if (can 'create organization')}}
            <h5>
              Member Type
            </h5>
            {{titleize (humanize (underscore provider.memberType))}}
          {{/if}}
          {{#if provider.organizationType}}
            <h5>
              Organization Type
            </h5>
            {{titleize (humanize (underscore provider.organizationType))}}
          {{/if}}
          {{#if provider.focusArea}}
            <h5>
              Focus Area
            </h5>
            {{titleize (humanize (underscore provider.focusArea))}}
          {{/if}}
          <h5>
            Service Contact
          </h5>
          <div cy-data="service">
            {{#if provider.serviceContact.email}}
              {{format-contact provider.serviceContact}}
            {{else}}
              <span class="small icon-warning">
                Please provide this information.
              </span>
            {{/if}}
          </div>
        </div>
      </div>
    {{/each}}
    <div class="text-center">
      {{#if (gt this.model.organizations.meta.totalPages 1)}}
        <PageNumbers @model={{this.model.organizations}} @link={{this.link}} />
      {{/if}}
    </div>
  {{else}}
    <BsAlert @dismissible={{false}} @type="warning">
      No consortium organizations found.
    </BsAlert>
  {{/if}}
</div>