Skip to content

Commit 876cc88

Browse files
author
Çağatay Çivici
committed
1 parent 9d1fd30 commit 876cc88

File tree

2 files changed

+18
-10
lines changed

2 files changed

+18
-10
lines changed

components/datatable/datatable.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
.ui-datatable {
2+
position: relative;
3+
}
4+
15
.ui-datatable table {
26
border-collapse:collapse;
37
width: 100%;

components/datatable/datatable.ts

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -340,9 +340,6 @@ export class ScrollableView implements AfterViewInit, OnDestroy {
340340
</tfoot>
341341
<tbody [ngClass]="{'ui-datatable-data ui-widget-content': true, 'ui-datatable-hoverable-rows': (rowHover||selectionMode)}" [pTableBody]="columns"></tbody>
342342
</table>
343-
<div class="ui-column-resizer-helper ui-state-highlight" style="display:none"></div>
344-
<span class="fa fa-arrow-down ui-datatable-reorder-indicator-up" style="position: absolute; display: none;"></span>
345-
<span class="fa fa-arrow-up ui-datatable-reorder-indicator-down" style="position: absolute; display: none;"></span>
346343
</div>
347344
348345
<template [ngIf]="scrollable">
@@ -357,6 +354,10 @@ export class ScrollableView implements AfterViewInit, OnDestroy {
357354
<div class="ui-datatable-footer ui-widget-header" *ngIf="footer">
358355
<ng-content select="p-footer"></ng-content>
359356
</div>
357+
358+
<div class="ui-column-resizer-helper ui-state-highlight" style="display:none"></div>
359+
<span class="fa fa-arrow-down ui-datatable-reorder-indicator-up" style="position: absolute; display: none;"></span>
360+
<span class="fa fa-arrow-up ui-datatable-reorder-indicator-down" style="position: absolute; display: none;"></span>
360361
</div>
361362
`,
362363
providers: [DomHandler]
@@ -535,7 +536,7 @@ export class DataTable implements AfterViewChecked,AfterViewInit,AfterContentIni
535536

536537
public columnResizing: boolean;
537538

538-
public lastPageX: number;
539+
public lastResizerHelperX: number;
539540

540541
public documentColumnResizeListener: Function;
541542

@@ -1492,25 +1493,28 @@ export class DataTable implements AfterViewChecked,AfterViewInit,AfterContentIni
14921493
}
14931494

14941495
initColumnResize(event) {
1496+
let container = this.el.nativeElement.children[0];
1497+
let containerLeft = this.domHandler.getOffset(container).left;
14951498
this.resizeColumn = event.target.parentElement;
14961499
this.columnResizing = true;
1497-
this.lastPageX = event.pageX;
1500+
this.lastResizerHelperX = (event.pageX - containerLeft);
14981501
}
14991502

15001503
onColumnResize(event) {
15011504
let container = this.el.nativeElement.children[0];
1505+
let containerLeft = this.domHandler.getOffset(container).left;
15021506
this.domHandler.addClass(container, 'ui-unselectable-text');
1503-
this.resizerHelper.style.height = container.offsetHeight - 4 + 'px';
1504-
this.resizerHelper.style.top = container.offsetTop + 'px';
1505-
if(event.pageX > container.offsetLeft && event.pageX < (container.offsetLeft + container.offsetWidth)) {
1506-
this.resizerHelper.style.left = event.pageX + 'px';
1507+
this.resizerHelper.style.height = container.offsetHeight + 'px';
1508+
this.resizerHelper.style.top = 0 + 'px';
1509+
if(event.pageX > containerLeft && event.pageX < (containerLeft + container.offsetWidth)) {
1510+
this.resizerHelper.style.left = (event.pageX - containerLeft) + 'px';
15071511
}
15081512

15091513
this.resizerHelper.style.display = 'block';
15101514
}
15111515

15121516
onColumnResizeEnd(event) {
1513-
let delta = this.resizerHelper.offsetLeft - this.lastPageX;
1517+
let delta = this.resizerHelper.offsetLeft - this.lastResizerHelperX;
15141518
let columnWidth = this.resizeColumn.offsetWidth;
15151519
let newColumnWidth = columnWidth + delta;
15161520
let minWidth = this.resizeColumn.style.minWidth||15;

0 commit comments

Comments
 (0)