]> git.ipfire.org Git - thirdparty/paperless-ngx.git/commitdiff
Enhancement: open color picker on swatch button click (#10994) dev
authorshamoon <4887959+shamoon@users.noreply.github.com>
Fri, 3 Oct 2025 04:29:59 +0000 (21:29 -0700)
committerGitHub <noreply@github.com>
Fri, 3 Oct 2025 04:29:59 +0000 (21:29 -0700)
src-ui/src/app/components/common/input/color/color.component.html
src-ui/src/app/components/common/input/color/color.component.spec.ts

index abc4e69ebd126ff6f2ca14f03e3d33d87d22b30b..6531c70ad6b0a925959c736e4a548d49e26d43d8 100644 (file)
@@ -1,19 +1,18 @@
 <div class="mb-3">
   @if (title) {
 <div class="mb-3">
   @if (title) {
-    <label [for]="inputId">{{title}}</label>
+    <label class="form-label" [for]="inputId">{{title}}</label>
   }
 
   <div class="input-group" [class.is-invalid]="error">
   }
 
   <div class="input-group" [class.is-invalid]="error">
-    <span class="input-group-text" [style.background-color]="value">&nbsp;&nbsp;&nbsp;</span>
+    <button type="button" class="input-group-text" [style.background-color]="value" (click)="colorPicker.toggle()">&nbsp;&nbsp;&nbsp;</button>
 
     <ng-template #popContent>
       <div style="min-width: 200px;" class="pb-3">
         <color-slider [color]="value" (onChangeComplete)="colorChanged($event.color.hex)"></color-slider>
       </div>
 
     <ng-template #popContent>
       <div style="min-width: 200px;" class="pb-3">
         <color-slider [color]="value" (onChangeComplete)="colorChanged($event.color.hex)"></color-slider>
       </div>
-
     </ng-template>
 
     </ng-template>
 
-    <input #inputField class="form-control" [class.is-invalid]="error" [id]="inputId" [(ngModel)]="value" (change)="onChange(value)" [autoClose]="'outside'" [ngbPopover]="popContent" placement="bottom" popoverClass="shadow">
+    <input #inputField class="form-control" [class.is-invalid]="error" [id]="inputId" [(ngModel)]="value" (change)="onChange(value)" [autoClose]="'outside'" [ngbPopover]="popContent" #colorPicker="ngbPopover" placement="bottom" popoverClass="shadow">
 
     <button class="btn btn-outline-secondary" type="button" (click)="randomize()">
       <i-bs name="dice5"></i-bs>
 
     <button class="btn btn-outline-secondary" type="button" (click)="randomize()">
       <i-bs name="dice5"></i-bs>
index cbe53a0c37ab29ff8ffc3146f68842e61a587f9e..427a878734599f3fdf3c7393014b8598901d4d1f 100644 (file)
@@ -42,8 +42,8 @@ describe('ColorComponent', () => {
   })
 
   it('should set swatch color', () => {
   })
 
   it('should set swatch color', () => {
-    const swatch: HTMLSpanElement = fixture.nativeElement.querySelector(
-      'span.input-group-text'
+    const swatch: HTMLButtonElement = fixture.nativeElement.querySelector(
+      'button.input-group-text'
     )
     expect(swatch.style.backgroundColor).toEqual('')
     component.value = '#ff0000'
     )
     expect(swatch.style.backgroundColor).toEqual('')
     component.value = '#ff0000'