mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	Update ngbRadioGroups to native buttons
This commit is contained in:
		| @@ -67,12 +67,12 @@ describe('documents-list', () => { | ||||
|   }) | ||||
|  | ||||
|   it('should change to table "details" view', () => { | ||||
|     cy.get('div.btn-group-toggle input[value="details"]').parent().click() | ||||
|     cy.get('div.btn-group input[value="details"]').next().click() | ||||
|     cy.get('table') | ||||
|   }) | ||||
|  | ||||
|   it('should change to large cards view', () => { | ||||
|     cy.get('div.btn-group-toggle input[value="largeCards"]').parent().click() | ||||
|     cy.get('div.btn-group input[value="largeCards"]').next().click() | ||||
|     cy.get('app-document-card-large') | ||||
|   }) | ||||
|  | ||||
|   | ||||
| @@ -16,13 +16,11 @@ | ||||
|   <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"> | ||||
|   | ||||
| @@ -13,23 +13,21 @@ | ||||
|       <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> | ||||
| @@ -39,15 +37,15 @@ | ||||
|   <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> | ||||
|   | ||||
| @@ -71,11 +71,11 @@ export class DocumentListComponent implements OnInit, OnDestroy { | ||||
|       : DOCUMENT_SORT_FIELDS | ||||
|   } | ||||
|  | ||||
|   set listSort(reverse: boolean) { | ||||
|   set listSortReverse(reverse: boolean) { | ||||
|     this.list.sortReverse = reverse | ||||
|   } | ||||
|  | ||||
|   get listSort(): boolean { | ||||
|   get listSortReverse(): boolean { | ||||
|     return this.list.sortReverse | ||||
|   } | ||||
|  | ||||
|   | ||||
| @@ -121,6 +121,15 @@ svg.logo { | ||||
|   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>")); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Michael Shamoon
					Michael Shamoon