38 lines
1.8 KiB
HTML
38 lines
1.8 KiB
HTML
<ng-container *transloco="let t; read: 'bulk-operations'">
|
|
@if (bulkSelectionService.selections$ | async; as selectionCount) {
|
|
@if (selectionCount > 0) {
|
|
<div class="bulk-select-container" [ngStyle]="{'margin-left': marginLeft + 'px', 'margin-right': marginRight + 'px'}">
|
|
<div class="bulk-select">
|
|
<div class="d-flex justify-content-around align-items-center">
|
|
|
|
<span class="highlight">
|
|
<i class="fa fa-check me-1" aria-hidden="true"></i>
|
|
{{t('items-selected',{num: selectionCount | number})}}
|
|
</span>
|
|
|
|
<span>
|
|
@if (hasMarkAsUnread) {
|
|
<button class="btn btn-icon" (click)="executeAction(Action.MarkAsUnread)" [ngbTooltip]="t('mark-as-unread')" placement="bottom">
|
|
<i class="fa-regular fa-circle-check" aria-hidden="true"></i>
|
|
<span class="visually-hidden">{{t('mark-as-unread')}}</span>
|
|
</button>
|
|
}
|
|
@if (hasMarkAsRead) {
|
|
<button class="btn btn-icon" (click)="executeAction(Action.MarkAsRead)" [ngbTooltip]="t('mark-as-read')" placement="bottom">
|
|
<i class="fa-solid fa-circle-check" aria-hidden="true"></i>
|
|
<span class="visually-hidden">{{t('mark-as-read')}}</span>
|
|
</button>
|
|
}
|
|
<app-card-actionables (actionHandler)="performAction($event)" [inputActions]="actions" labelBy="bulk-actions-header" iconClass="fa-ellipsis-h" />
|
|
</span>
|
|
|
|
<span id="bulk-actions-header" class="visually-hidden">Bulk Actions</span>
|
|
|
|
<button class="btn btn-icon" (click)="bulkSelectionService.deselectAll()"><i class="fa fa-times me-1" aria-hidden="true"></i>{{t('deselect-all')}}</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
}
|
|
|
|
}
|
|
</ng-container>
|