Skip to content
Snippets Groups Projects
item-bitstreams.component.html 4.18 KiB
Newer Older
<div class="item-bitstreams">
  <div class="button-row top d-flex mt-2">
    <button class="mr-auto btn btn-success"
            [routerLink]="['/items/', item.id, 'bitstreams', 'new']"><i
            class="fas fa-upload"></i>
      <span class="d-none d-sm-inline">&nbsp;{{"item.edit.bitstreams.upload-button" | translate}}</span>
    </button>
    <button class="btn btn-danger mr-1" *ngIf="!(isReinstatable() | async)"
            [disabled]="!(hasChanges() | async)"
            (click)="discard()"><i
            class="fas fa-times"></i>
      <span class="d-none d-sm-inline">&nbsp;{{"item.edit.bitstreams.discard-button" | translate}}</span>
    </button>
    <button class="btn btn-warning mr-1" *ngIf="isReinstatable() | async"
            (click)="reinstate()"><i
            class="fas fa-undo-alt"></i>
      <span class="d-none d-sm-inline">&nbsp;{{"item.edit.bitstreams.reinstate-button" | translate}}</span>
    </button>
    <button class="btn btn-primary" [disabled]="!(hasChanges() | async)"
            (click)="submit()"><i
            class="fas fa-save"></i>
      <span class="d-none d-sm-inline">&nbsp;{{"item.edit.bitstreams.save-button" | translate}}</span>
    </button>
  <ds-pagination *ngIf="(bitstreams$ | async) && !(bitstreams$ | async)?.isLoading &&
                        (updates$ | async) && ((updates$ | async) | dsObjectValues).length > 0"
                 [paginationOptions]="(searchOptions$ | async)?.pagination"
                 [pageInfoState]="(bitstreams$ | async)?.payload"
                 [collectionSize]="(bitstreams$ | async)?.payload?.totalElements"
                 [sortOptions]="(searchOptions$ | async)?.sort"
                 [hideGear]="true"
                 [hidePagerWhenSinglePage]="true">
    <table class="table table-responsive table-striped table-bordered">
      <tbody>
          <th>{{'item.edit.bitstreams.headers.name' | translate}}</th>
          <th>{{'item.edit.bitstreams.headers.bundle' | translate}}</th>
          <th>{{'item.edit.bitstreams.headers.description' | translate}}</th>
          <th class="text-center">{{'item.edit.bitstreams.headers.format' | translate}}</th>
          <th class="text-center">{{'item.edit.bitstreams.headers.actions' | translate}}</th>
        <ng-container *ngVar="((updates$ | async) | dsObjectValues) as updateValues">
          <tr *ngFor="let updateValue of updateValues"
              ds-item-edit-bitstream
              [fieldUpdate]="updateValue"
              [url]="url"
              [ngClass]="{
                    'table-warning': updateValue.changeType === 0,
                    'table-danger': updateValue.changeType === 2,
                    'table-success': updateValue.changeType === 1
                  }">
          </tr>
  <div *ngIf="(bitstreams$ | async) && !(bitstreams$ | async)?.isLoading &&
              !(updates$ | async) || (updates$ | async) && ((updates$ | async) | dsObjectValues).length === 0"
       class="alert alert-info w-100 d-inline-block mt-4" role="alert">
    {{'item.edit.bitstreams.empty' | translate}}
  </div>
  <ds-loading *ngIf="!(bitstreams$ | async) || (bitstreams$ | async)?.isLoading" message="{{'loading.bitstreams' | translate}}"></ds-loading>
  <div class="button-row bottom">
      <button class="btn btn-danger" *ngIf="!(isReinstatable() | async)"
              [disabled]="!(hasChanges() | async)"
              (click)="discard()"><i
        class="fas fa-times"></i>
        <span class="d-none d-sm-inline">&nbsp;{{"item.edit.bitstreams.discard-button" | translate}}</span>
      </button>
      <button class="btn btn-warning" *ngIf="isReinstatable() | async"
              (click)="reinstate()"><i
        class="fas fa-undo-alt"></i>
        <span class="d-none d-sm-inline">&nbsp;{{"item.edit.bitstreams.reinstate-button" | translate}}</span>
      </button>
      <button class="btn btn-primary" [disabled]="!(hasChanges() | async)"
              (click)="submit()"><i
        class="fas fa-save"></i>
        <span class="d-none d-sm-inline">&nbsp;{{"item.edit.bitstreams.save-button" | translate}}</span>
      </button>
    </div>
  </div>
lotte's avatar
lotte committed
</div>