mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	Disable any / all toggle when excluded items
This commit is contained in:
		| @@ -15,10 +15,10 @@ | ||||
|       <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()"> | ||||
|           <label ngbButtonLabel class="btn btn-outline-primary"> | ||||
|             <input ngbButton type="radio" name="logicalOperator" value="and" [disabled]="selectionModel.selectionSize() < 2"> All | ||||
|             <input ngbButton type="radio" name="logicalOperator" value="and" [disabled]="!operatorToggleEnabled"> All | ||||
|           </label> | ||||
|           <label ngbButtonLabel class="btn btn-outline-primary"> | ||||
|             <input ngbButton type="radio" name="logicalOperator" value="or" [disabled]="selectionModel.selectionSize() < 2"> Any | ||||
|             <input ngbButton type="radio" name="logicalOperator" value="or" [disabled]="!operatorToggleEnabled"> Any | ||||
|           </label> | ||||
|         </div> | ||||
|       </div> | ||||
|   | ||||
| @@ -95,6 +95,7 @@ export class FilterableDropdownSelectionModel { | ||||
|     let state = this.temporarySelectionStates.get(id) | ||||
|     if (state == null || state != ToggleableItemState.Excluded) { | ||||
|       this.temporarySelectionStates.set(id, ToggleableItemState.Excluded) | ||||
|       this.temporaryLogicalOperator = this._logicalOperator = 'and' | ||||
|     } else if (state == ToggleableItemState.Excluded) { | ||||
|       this.temporarySelectionStates.delete(id) | ||||
|     } | ||||
| @@ -270,6 +271,10 @@ export class FilterableDropdownComponent { | ||||
|   @Output() | ||||
|   open = new EventEmitter() | ||||
|  | ||||
|   get operatorToggleEnabled(): boolean { | ||||
|     return this.selectionModel.selectionSize() > 1 && this.selectionModel.getExcludedItems().length == 0 | ||||
|   } | ||||
|  | ||||
|   constructor(private filterPipe: FilterPipe) { | ||||
|     this.selectionModel = new FilterableDropdownSelectionModel() | ||||
|   } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Michael Shamoon
					Michael Shamoon