Files
dspace-angular/src/app/item-page/edit-item-page/item-bitstreams/item-edit-bitstream-bundle/item-edit-bitstream-bundle.component.html
Wout-atmire e0240259ec Upgrade to Bootstrap 5 & realign themes (#3506)
* 117631: upgraded bootstrap, ng-bootstrap and installed popper.js

* 117631: SASS to CSS variables

* 117631: Bootstrap 4 to 5 html/css fixes

* 117631: Theming fixes after bootstrap upgrade

* 117631: More theming fixes: accordions, spacing, search components etc

* 117631: Fixed tests

* 117631: Fixed offset issues

* 117631: Fixed contrast ratio issue

* 117631: Fixed variables, removed unnecessary mapping, fixed tables, upgraded to Bootstrap 5.3.3

* 118113: vertical footer deviders

* 118113: remove button shadow

* 118113: old checkboxes

* 118113: Custom icons font-family

* 118113: accordion color

* 118113: table striped customizable background-color

* 118113: revert vertical deviders in footer bs-secondary change

* 118113: modal close button

* 118113: add w-100 to btn-block elements

* 118113: border radius

* 118113: The date selector on the submission page gets squished to the side of its label fix

* 118113: adding margins to dynamic-form-control-containers

* 118113: adding gaps between sections of item submission form

* 118113: icon font-family removed !important

* 118113: removed !important from #legend_dc_date_issued

* 118113: move --bs-border-radius to $bs-border-radius

* 118113: remove new SCSS variable

* 118113: reduce size for Item type labels

* 118113: date picker border - transparent

* 118113: drag-item-container elements on same line

* 118113: specific border color for ds-number-picker buttons

* Simplify variables & styles

* 118627: html files

* Fix new SCSS compile issues, remove yarn.lock

* 118627: remove footer button shadow

* 118627: custom login button radius

* 118627: success button - white text

* 118627: table alternate colors

* Fix ghostly Bootstrap version, again

* Override (ng-)bootstrap versions for @ng-dynamic-forms

* 118627: Feedback - fix login button radius

* 118627: Feedback - fix footer button shadows

* 118627: Feedback - login border radius use $bs-border-radius-lg + change to rem

* 118627: Tooltip issue

* 118627: Metadata white authority badge

* 118627: Align Back button

* 118627: Bitstreams under Item's Metadata issue fix

* 118627: select on edit collection page "arrow icon"

* 118627: fix alignment issues

* 118627: fix admin sidebar "Managment" label

* 118627: Feedback - login button

* 118627: Line above table heads

* 118627: Remove HMTL accordion expandable arrow

* 118627: bitstream table

* 118627: notification "close button"

* 118627: faint border/shadow around the expand buttons on hierarchical browse pages

* 118627: tooltip margin

* 118627: Bootstrap 5 changed the default gutter size to 24px

* 118627: custom-aligning -> custom-alignment

* 118627: lint-fix

* 118627: lint fix

* 118627: e2e Fix with new "btn-close"

* 118627: e2e Fix heading order for access-control-form-container

* 118627: access-control-form-container mr-4 to me-4

* 118627: update mr to me & ml to ms & pr to ps & pl to ps

* 118627: Access Control "Mode" radiobuttons under Text

* 118627: Item submission Publisher select icon positioning

* 118627: resolved merge conflict with main (and npm install)

* 118627: cherrypicking 3553 commits

* Remove unused angular-idle-preload

(cherry picked from commit fef5dd72b3)

* 118627: npm install - to fix package-lock.json

* 120594: hamberger menu not showing fix

* 120594: big logo header issue

* 120594: remove faint shadow

* 120594: btn-transparent class

* 120594: badge-* to bg-*

* 120594: add padding-right & -left for rounded-pill

* 120594: update test variables to fit the new bootstrap variables

* 120594: add missing rss conditions

* 120594: fix white badges

* 118627: remove shadow on number-picker

* 120594: revert white badge fix

* 120594: re-add dropdown-button in dynamic-lookup-relation-search-tab

* 120594: remove default radio button styling

* 120594: full width radio buttons

* 120594: edit collection page alignment

* 120594: bg -> bg-primary

* 120594: revert to old info color

* 120594: revert media breakpoints

* 120594: recover PR 3227 rss

* 120594: remove login & logout from PR

* 120594: ds-filter input & label gap

* 120594: ds-filter aligning rows

* 120594: remove navbar.module.ts

* 120594: remove item-edit-bitstream.component.html

* 120594: remove item-edit-bitstream-drag-handle.component.html

* 120594: Fix vocabulary-treeview styling

* 120594: Remove unused browse-by-metadata-page.component.html

* 120594: red invalid input label

* 120594: use old link color for number-picker: #1f7293

* 120594: move $theme-colors to sass override

* 120594: spacing for upload icon

* 120594: decrease media-breakpoint-down

* 120594: PR 3227 rss

* 120594: merge in main bootstrap variable mappings

* 120594: restore all mapped variable that have a value

* 120594: fix unset variable item-edit-bitstream-bundle.component.scss

* 120594: old tooltip color

* 120594: edit bitstream render text inline with the icon

* Revert "120594: merge in main bootstrap variable mappings"

This reverts commit 4e61b5fb

* 120594: add non-default mapped variables with references

* 120594: add docs in _bootstrap_variables_mapping.scss

* 120594: use bootstrap variables instead of hardcoded values

---------

Co-authored-by: lotte <lotte_hofstede@hotmail.com>
Co-authored-by: Yura Bondarenko <yura.bondarenko@atmire.com>
Co-authored-by: Yury Bondarenko <ybnd@tuta.io>
Co-authored-by: Tim Donohue <tim.donohue@lyrasis.org>
2025-03-05 12:15:51 -06:00

141 lines
7.5 KiB
HTML

<ng-template #bundleView>
<ds-pagination *ngIf="(bitstreamsRD$ | async)?.payload as bitstreamsList"
[hideGear]="true"
[hidePagerWhenSinglePage]="true"
[hidePaginationDetail]="true"
[paginationOptions]="paginationOptions"
[collectionSize]="bitstreamsList.totalElements"
[retainScrollPosition]="true"
[ngbTooltip]="'item.edit.bitstreams.bundle.tooltip' | translate" placement="bottom"
[autoClose]="false" triggers="manual" #dragTooltip="ngbTooltip">
<ng-container *ngIf="(updates$ | async) as updates">
<table class="table" [class.mt-n1]="!isFirstTable"
[attr.aria-label]="'item.edit.bitstreams.bundle.table.aria-label' | translate: { bundle: bundleName } ">
<thead [class.visually-hidden]="!isFirstTable">
<tr class="header-row font-weight-bold">
<th id="name" scope="col" class="{{ columnSizes.columns[0].buildClasses() }}">
{{'item.edit.bitstreams.headers.name' | translate}}
</th>
<th id="description" scope="col" class="{{ columnSizes.columns[1].buildClasses() }}">
{{'item.edit.bitstreams.headers.description' | translate}}
</th>
<th id="format" scope="col" class="{{ columnSizes.columns[2].buildClasses() }}">
{{'item.edit.bitstreams.headers.format' | translate}}
</th>
<th id="actions" scope="col" class="{{ columnSizes.columns[3].buildClasses() }} text-center">
{{'item.edit.bitstreams.headers.actions' | translate}}
</th>
</tr>
</thead>
<tbody cdkDropList (cdkDropListDropped)="drop($event)">
<tr class="bundle-row">
<th id="{{ bundleName }}" class="span" colspan="3" scope="colgroup">
{{'item.edit.bitstreams.bundle.name' | translate:{ name: bundleName } }}
</th>
<td class="text-center">
<div class="btn-group">
<button [routerLink]="[itemPageRoute, 'bitstreams', 'new']"
[queryParams]="{bundle: bundle.id}"
[attr.aria-label]="'item.edit.bitstreams.bundle.edit.buttons.upload' | translate"
class="btn btn-outline-success btn-sm"
title="{{'item.edit.bitstreams.bundle.edit.buttons.upload' | translate}}">
<i class="fas fa-upload fa-fw"></i>
</button>
<div ngbDropdown #paginationControls="ngbDropdown" class="btn-group float-right btn-sm p-0"
placement="bottom-right">
<button class="btn btn-outline-secondary" id="paginationControls" ngbDropdownToggle
[title]="'pagination.options.description' | translate"
[attr.aria-label]="'pagination.options.description' | translate" aria-haspopup="true"
aria-expanded="false">
<i class="fas fa-cog" aria-hidden="true"></i>
</button>
<ul id="paginationControlsDropdownMenu" aria-labelledby="paginationControls" role="menu"
ngbDropdownMenu>
<li role="menuitem">
<span class="dropdown-header" id="pagination-control_results-per-page"
role="heading">{{ 'pagination.results-per-page' | translate}}</span>
<ul aria-labelledby="pagination-control_results-per-page" class="list-unstyled" role="listbox">
<li *ngFor="let size of paginationOptions.pageSizeOptions" role="option"
[attr.aria-selected]="size === (pageSize$ | async)">
<button (click)="doPageSizeChange(size)" class="dropdown-item">
<i [ngClass]="{'invisible': size !== (pageSize$ | async) }" class="fas fa-check"
aria-hidden="true"></i> {{size}}
</button>
</li>
</ul>
</li>
</ul>
</div>
</div>
</td>
</tr>
<ng-container *ngFor="let entry of (tableEntries$ | async)">
<tr *ngIf="updates[entry.id] as update" [ngClass]="getRowClass(update, entry)" class="bitstream-row" cdkDrag
(cdkDragStarted)="dragStart()" (cdkDragEnded)="dragEnd()">
<th class="bitstream-name row-element {{ columnSizes.columns[0].buildClasses() }}"
scope="row" id="{{ entry.nameStripped }}" headers="{{ bundleName }} name">
<div class="drag-handle text-muted float-left p-1 mr-2 d-inline" tabindex="0" cdkDragHandle
(keydown.enter)="select($event, entry)" (keydown.space)="select($event, entry)" (click)="select($event, entry)">
<i class="fas fa-grip-vertical fa-fw"
[title]="'item.edit.bitstreams.edit.buttons.drag' | translate"></i>
</div>
{{ entry.name }}
</th>
<td class="row-element {{ columnSizes.columns[1].buildClasses() }}"
headers="{{ entry.nameStripped }} {{ bundleName }} description">
{{ entry.description }}
</td>
<td class="row-element {{ columnSizes.columns[2].buildClasses() }}"
headers="{{ entry.nameStripped }} {{ bundleName }} format">
{{ (entry.format | async)?.shortDescription }}
</td>
<td class="row-element {{ columnSizes.columns[3].buildClasses() }}"
headers="{{ entry.nameStripped }} {{ bundleName }} actions">
<div class="text-center w-100">
<div class="btn-group relationship-action-buttons">
<a [href]="entry.downloadUrl"
[attr.aria-label]="'item.edit.bitstreams.edit.buttons.download' | translate"
class="btn btn-outline-primary btn-sm"
title="{{'item.edit.bitstreams.edit.buttons.download' | translate}}"
[attr.data-test]="'download-button' | dsBrowserOnly">
<i class="fas fa-download fa-fw"></i>
</a>
<button [routerLink]="['/bitstreams/', entry.id, 'edit']" class="btn btn-outline-primary btn-sm"
[attr.aria-label]="'item.edit.bitstreams.edit.buttons.edit' | translate"
title="{{'item.edit.bitstreams.edit.buttons.edit' | translate}}">
<i class="fas fa-edit fa-fw"></i>
</button>
<button [dsBtnDisabled]="!canRemove(update)" (click)="remove(entry.bitstream)"
[attr.aria-label]=" 'item. edit bitstreams.edit.buttons.remove' | translate"
class="btn btn-outline-danger btn-sm"
title="{{'item.edit.bitstreams.edit.buttons.remove' | translate}}">
<i class="fas fa-trash-alt fa-fw"></i>
</button>
<button [dsBtnDisabled]="!canUndo(update)" (click)="undo(entry.bitstream)"
[attr.aria-label]="'item.edit.bitstreams.edit.buttons.undo' | translate"
class="btn btn-outline-warning btn-sm"
title="{{'item.edit.bitstreams.edit.buttons.undo' | translate}}">
<i class="fas fa-undo-alt fa-fw"></i>
</button>
</div>
</div>
</td>
</tr>
</ng-container>
</tbody>
</table>
</ng-container>
</ds-pagination>
</ng-template>