From ca892fc8fa50d0021ac0b29fc939cc569d3d2fa7 Mon Sep 17 00:00:00 2001 From: jacekpluta <73617938+jacekpluta@users.noreply.github.com> Date: Mon, 4 Mar 2024 11:03:15 +0100 Subject: [PATCH] [ACS-6690] Resizing column can trigger sorting key/direction change in ACA and ADW (#9362) --- .../components/datatable/datatable.component.html | 1 + .../datatable/datatable.component.spec.ts | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/lib/core/src/lib/datatable/components/datatable/datatable.component.html b/lib/core/src/lib/datatable/components/datatable/datatable.component.html index f8ca89d60c..bb00a69fba 100644 --- a/lib/core/src/lib/datatable/components/datatable/datatable.component.html +++ b/lib/core/src/lib/datatable/components/datatable/datatable.component.html @@ -99,6 +99,7 @@ *ngIf="isResizingEnabled && col.resizable" [ngClass]="hoveredHeaderColumnIndex === columnIndex && !isResizing || resizingColumnIndex === columnIndex ? 'adf-datatable__resize-handle-visible' : 'adf-datatable__resize-handle-hidden'" adf-resize-handle + (click)="$event.stopPropagation()" class="adf-datatable__resize-handle" [resizableContainer]="resizableElement">
diff --git a/lib/core/src/lib/datatable/components/datatable/datatable.component.spec.ts b/lib/core/src/lib/datatable/components/datatable/datatable.component.spec.ts index 6ee89877ac..4958d1ea82 100644 --- a/lib/core/src/lib/datatable/components/datatable/datatable.component.spec.ts +++ b/lib/core/src/lib/datatable/components/datatable/datatable.component.spec.ts @@ -1844,6 +1844,19 @@ describe('Column Resizing', () => { expect(adapter.setColumns).toHaveBeenCalledWith(columns); })); + it('should stop propagation on resize handler click event', () => { + dataTable.isResizingEnabled = true; + fixture.detectChanges(); + + const resizeHandle = getResizeHandler(); + const clickEvent = new MouseEvent('click'); + const stopPropagationSpy = spyOn(clickEvent, 'stopPropagation'); + + resizeHandle.dispatchEvent(clickEvent); + + expect(stopPropagationSpy).toHaveBeenCalled(); + }); + it('should set column widths while resizing ONLY on visible columns', fakeAsync(() => { const adapter = dataTable.data; spyOn(adapter, 'getColumns').and.returnValue([