mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[MNT-23166] Add resize flag to document list with option to disable blur (#9090)
* [MNT-23166] Add resize flag to document list with option to disable blur * [MNT-23166] Missing docs and CR fixes * [MNT-23166] Lint fixes * [MNT-23166] Lint fixes * [MNT-23166] Lint fixes
This commit is contained in:
@@ -160,7 +160,7 @@
|
||||
|
||||
<div
|
||||
class="adf-datatable-body"
|
||||
[ngClass]="{ 'adf-blur-datatable-body': isDraggingHeaderColumn || isResizing }"
|
||||
[ngClass]="{ 'adf-blur-datatable-body': blurOnResize && (isDraggingHeaderColumn || isResizing) }"
|
||||
role="rowgroup">
|
||||
<ng-container *ngIf="!loading && !noPermission">
|
||||
<adf-datatable-row *ngFor="let row of data.getRows(); let idx = index"
|
||||
|
@@ -1646,11 +1646,16 @@ describe('Column Resizing', () => {
|
||||
let data: { id: number; name: string }[] = [];
|
||||
let dataTableSchema: DataColumn[] = [];
|
||||
|
||||
const getTableBody = (): HTMLDivElement => fixture.debugElement.nativeElement.querySelector('.adf-datatable-body');
|
||||
|
||||
const getResizeHandler = (): HTMLDivElement => fixture.debugElement.nativeElement.querySelector('.adf-datatable__resize-handle');
|
||||
|
||||
|
||||
const testClassesAfterResizing = (headerColumnsSelector = '.adf-datatable-cell-header', excludedClass = 'adf-datatable__cursor--pointer') => {
|
||||
dataTable.isResizingEnabled = true;
|
||||
fixture.detectChanges();
|
||||
|
||||
const resizeHandle: HTMLElement = fixture.debugElement.nativeElement.querySelector('.adf-datatable__resize-handle');
|
||||
const resizeHandle: HTMLElement = getResizeHandler();
|
||||
resizeHandle.dispatchEvent(new MouseEvent('mousedown'));
|
||||
fixture.detectChanges();
|
||||
|
||||
@@ -1685,7 +1690,7 @@ describe('Column Resizing', () => {
|
||||
});
|
||||
|
||||
it('should NOT display resize handle when the feature is Disabled [isResizingEnabled=false]', () => {
|
||||
const resizeHandle = fixture.debugElement.nativeElement.querySelector('.adf-datatable__resize-handle');
|
||||
const resizeHandle = getResizeHandler();
|
||||
|
||||
expect(resizeHandle).toBeNull();
|
||||
const headerColumns = fixture.debugElement.nativeElement.querySelectorAll('.adf-datatable-cell-header');
|
||||
@@ -1699,7 +1704,7 @@ describe('Column Resizing', () => {
|
||||
dataTable.isResizingEnabled = true;
|
||||
|
||||
fixture.detectChanges();
|
||||
const resizeHandle = fixture.debugElement.nativeElement.querySelector('.adf-datatable__resize-handle');
|
||||
const resizeHandle = getResizeHandler();
|
||||
|
||||
expect(resizeHandle).not.toBeNull();
|
||||
const headerColumns = fixture.debugElement.nativeElement.querySelectorAll('.adf-datatable-cell-header');
|
||||
@@ -1738,18 +1743,29 @@ describe('Column Resizing', () => {
|
||||
expect(dragIcon).toBeNull();
|
||||
});
|
||||
|
||||
it('should blur the table body upon resizing starts', () => {
|
||||
dataTable.isResizingEnabled = true;
|
||||
fixture.detectChanges();
|
||||
describe('Datatable blur', () => {
|
||||
beforeEach(() => {
|
||||
dataTable.isResizingEnabled = true;
|
||||
fixture.detectChanges();
|
||||
|
||||
const resizeHandle: HTMLElement = fixture.debugElement.nativeElement.querySelector('.adf-datatable__resize-handle');
|
||||
resizeHandle.dispatchEvent(new MouseEvent('mousedown'));
|
||||
fixture.detectChanges();
|
||||
const resizeHandle: HTMLElement = getResizeHandler();
|
||||
resizeHandle.dispatchEvent(new MouseEvent('mousedown'));
|
||||
fixture.detectChanges();
|
||||
});
|
||||
|
||||
const tableBody = fixture.debugElement.nativeElement.querySelector('.adf-datatable-body');
|
||||
it('should blur the table body upon resizing starts', () => {
|
||||
const tableBody = getTableBody();
|
||||
expect(dataTable.isResizing).toBeTrue();
|
||||
expect(tableBody.classList).toContain('adf-blur-datatable-body');
|
||||
});
|
||||
|
||||
expect(dataTable.isResizing).toBeTrue();
|
||||
expect(tableBody.classList).toContain('adf-blur-datatable-body');
|
||||
it('should not blur the table body upon resizing starts when blurOnResize is false', () => {
|
||||
dataTable.blurOnResize = false;
|
||||
fixture.detectChanges();
|
||||
const tableBody = getTableBody();
|
||||
expect(dataTable.isResizing).toBeTrue();
|
||||
expect(tableBody.classList).not.toContain('adf-blur-datatable-body');
|
||||
});
|
||||
});
|
||||
|
||||
it('should set column width on resizing', fakeAsync(() => {
|
||||
@@ -1819,7 +1835,7 @@ describe('Column Resizing', () => {
|
||||
tick();
|
||||
fixture.detectChanges();
|
||||
|
||||
const tableBody = fixture.debugElement.nativeElement.querySelector('.adf-datatable-body');
|
||||
const tableBody = getTableBody();
|
||||
const firstCell: HTMLElement = tableBody.querySelector('[data-automation-id="name1"]');
|
||||
const secondCell: HTMLElement = tableBody.querySelector('[data-automation-id="name2"]');
|
||||
|
||||
@@ -1832,7 +1848,7 @@ describe('Column Resizing', () => {
|
||||
tick();
|
||||
fixture.detectChanges();
|
||||
|
||||
const tableBody = fixture.debugElement.nativeElement.querySelector('.adf-datatable-body');
|
||||
const tableBody = getTableBody();
|
||||
const firstCell: HTMLElement = tableBody.querySelector('[data-automation-id="name1"]');
|
||||
const secondCell: HTMLElement = tableBody.querySelector('[data-automation-id="name2"]');
|
||||
|
||||
@@ -1844,11 +1860,11 @@ describe('Column Resizing', () => {
|
||||
dataTable.isResizingEnabled = true;
|
||||
fixture.detectChanges();
|
||||
|
||||
const resizeHandle: HTMLElement = fixture.debugElement.nativeElement.querySelector('.adf-datatable__resize-handle');
|
||||
const resizeHandle: HTMLElement = getResizeHandler();
|
||||
resizeHandle.dispatchEvent(new MouseEvent('mousedown'));
|
||||
fixture.detectChanges();
|
||||
|
||||
const tableBody = fixture.debugElement.nativeElement.querySelector('.adf-datatable-body');
|
||||
const tableBody = getTableBody();
|
||||
|
||||
expect(dataTable.isResizing).toBeTrue();
|
||||
expect(tableBody.classList).toContain('adf-blur-datatable-body');
|
||||
@@ -1869,7 +1885,7 @@ describe('Column Resizing', () => {
|
||||
dataTable.isResizingEnabled = true;
|
||||
fixture.detectChanges();
|
||||
|
||||
const resizeHandle: HTMLElement = fixture.debugElement.nativeElement.querySelector('.adf-datatable__resize-handle');
|
||||
const resizeHandle: HTMLElement = getResizeHandler();
|
||||
resizeHandle.dispatchEvent(new MouseEvent('mousedown'));
|
||||
fixture.detectChanges();
|
||||
|
||||
|
@@ -236,7 +236,13 @@ export class DataTableComponent implements OnInit, AfterContentInit, OnChanges,
|
||||
* Flag that indicates if the datatable allows column resizing.
|
||||
*/
|
||||
@Input()
|
||||
isResizingEnabled: boolean = false;
|
||||
isResizingEnabled = false;
|
||||
|
||||
/**
|
||||
* Flag that indicates if the datatable should be blurred when resizing.
|
||||
*/
|
||||
@Input()
|
||||
blurOnResize = true;
|
||||
|
||||
headerFilterTemplate: TemplateRef<any>;
|
||||
noContentTemplate: TemplateRef<any>;
|
||||
|
Reference in New Issue
Block a user