<div class="dropdown-menu py-0 shadow" ngbDropdownMenu attr.aria-labelledby="dropdown{{title}}">
<div class="list-group list-group-flush">
<div *ngIf="!editing && multiple" class="list-group-item d-flex">
- <div class="btn-group btn-group-xs btn-group-toggle flex-fill" ngbRadioGroup [(ngModel)]="selectionModel.logicalOperator" (change)="selectionModel.toggleOperator()" [disabled]="!operatorToggleEnabled">
- <label ngbButtonLabel class="btn btn-outline-primary">
- <input ngbButton type="radio" class="btn-check" name="logicalOperator" value="and" i18n> All
- </label>
- <label ngbButtonLabel class="btn btn-outline-primary">
- <input ngbButton type="radio" class="btn-check" name="logicalOperator" value="or" i18n> Any
- </label>
+ <div class="btn-group btn-group-xs flex-fill">
+ <input [(ngModel)]="selectionModel.logicalOperator" [disabled]="!operatorToggleEnabled" (ngModelChange)="selectionModel.toggleOperator()" type="radio" class="btn-check" id="logicalOperatorAnd" value="and">
+ <label class="btn btn-outline-primary" for="logicalOperatorAnd" i18n>All</label>
+ <input [(ngModel)]="selectionModel.logicalOperator" [disabled]="!operatorToggleEnabled" (ngModelChange)="selectionModel.toggleOperator()" type="radio" class="btn-check" id="logicalOperatorOr" value="or">
+ <label class="btn btn-outline-primary" for="logicalOperatorOr" i18n>Any</label>
</div>
</div>
<div class="list-group-item">
<button ngbDropdownItem (click)="list.selectAll()" i18n>Select all</button>
</div>
</div>
-
- <div class="btn-group btn-group-toggle flex-fill" ngbRadioGroup [(ngModel)]="displayMode"
- (ngModelChange)="saveDisplayMode()">
- <label ngbButtonLabel class="btn-outline-primary btn-sm">
- <input ngbButton type="radio" class="btn-check btn-sm" value="details">
+ <div class="btn-group flex-fill" role="group">
+ <input type="radio" class="btn-check" [(ngModel)]="displayMode" value="details" (ngModelChange)="saveDisplayMode()" id="displayModeDetails">
+ <label for="displayModeDetails" class="btn btn-outline-primary btn-sm">
<svg class="toolbaricon" fill="currentColor">
<use xlink:href="assets/bootstrap-icons.svg#list-ul" />
</svg>
</label>
- <label ngbButtonLabel class="btn-outline-primary btn-sm">
- <input ngbButton type="radio" class="btn-check btn-sm" value="smallCards">
+ <input type="radio" class="btn-check" [(ngModel)]="displayMode" value="smallCards" (ngModelChange)="saveDisplayMode()" id="displayModeSmall">
+ <label for="displayModeSmall" class="btn btn-outline-primary btn-sm">
<svg class="toolbaricon" fill="currentColor">
<use xlink:href="assets/bootstrap-icons.svg#grid" />
</svg>
</label>
- <label ngbButtonLabel class="btn-outline-primary btn-sm">
- <input ngbButton type="radio" class="btn-check btn-sm" value="largeCards">
+ <input type="radio" class="btn-check" [(ngModel)]="displayMode" value="largeCards" (ngModelChange)="saveDisplayMode()" id="displayModeLarge">
+ <label for="displayModeLarge" class="btn btn-outline-primary btn-sm">
<svg class="toolbaricon" fill="currentColor">
<use xlink:href="assets/bootstrap-icons.svg#hdd-stack" />
</svg>
<div ngbDropdown class="btn-group ms-2 flex-fill">
<button class="btn btn-outline-primary btn-sm" id="dropdownBasic1" ngbDropdownToggle i18n>Sort</button>
<div ngbDropdownMenu aria-labelledby="dropdownBasic1" class="shadow dropdown-menu-right">
- <div class="w-100 d-flex btn-group-toggle pb-2 mb-1 border-bottom" ngbRadioGroup [(ngModel)]="listSort">
- <label ngbButtonLabel class="btn-outline-primary btn-sm mx-2 flex-fill">
- <input ngbButton type="radio" class="btn btn-check btn-sm" [value]="false">
+ <div class="w-100 d-flex pb-2 mb-1 border-bottom">
+ <input type="radio" class="btn-check" [value]="false" [(ngModel)]="listSortReverse" id="listSortReverseFalse">
+ <label class="btn btn-outline-primary btn-sm mx-2 flex-fill" for="listSortReverseFalse">
<svg class="toolbaricon" fill="currentColor">
<use xlink:href="assets/bootstrap-icons.svg#sort-alpha-down" />
</svg>
</label>
- <label ngbButtonLabel class="btn-outline-primary btn-sm me-2 flex-fill">
- <input ngbButton type="radio" class="btn btn-check btn-sm" [value]="true">
+ <input type="radio" class="btn-check" [value]="true" [(ngModel)]="listSortReverse" id="listSortReverseTrue">
+ <label class="btn btn-outline-primary btn-sm me-2 flex-fill" for="listSortReverseTrue">
<svg class="toolbaricon" fill="currentColor">
<use xlink:href="assets/bootstrap-icons.svg#sort-alpha-up-alt" />
</svg>
box-shadow: 0 0 0 0.25rem hsla(var(--pngx-primary), var(--pngx-primary-lightness), var(--pngx-focus-alpha));
}
+.btn-check:checked + .btn-outline-primary,
+.btn-check:active + .btn-outline-primary,
+.btn-outline-primary:active,
+.btn-outline-primary.active,
+.btn-outline-primary.dropdown-toggle.show {
+ background-color: var(--bs-primary);
+ color: var(--pngx-primary-text-contrast) !important;
+}
+
.form-switch .form-check-input:focus {
background-image: escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#bbb'/></svg>"));
}