diff --git a/demo-shell-ng2/app/components/datatable/datatable-demo.component.html b/demo-shell-ng2/app/components/datatable/datatable-demo.component.html
index 9ff3e6c874..110d0be5cb 100644
--- a/demo-shell-ng2/app/components/datatable/datatable-demo.component.html
+++ b/demo-shell-ng2/app/components/datatable/datatable-demo.component.html
@@ -20,30 +20,11 @@
-
+ Multiselect
-
-
-
-
+
+
+
+
diff --git a/ng2-components/ng2-alfresco-datatable/src/components/datatable/datatable.component.html b/ng2-components/ng2-alfresco-datatable/src/components/datatable/datatable.component.html
index 91d4583b78..d3135b021b 100644
--- a/ng2-components/ng2-alfresco-datatable/src/components/datatable/datatable.component.html
+++ b/ng2-components/ng2-alfresco-datatable/src/components/datatable/datatable.component.html
@@ -9,13 +9,7 @@
-
+
|
|
-
+
|
{
expect(e.preventDefault).toHaveBeenCalled();
});
- it('should prevent default behaviour on select all click', () => {
- let e = jasmine.createSpyObj('event', ['preventDefault']);
- dataTable.onSelectAllClick(e);
- expect(e.preventDefault).toHaveBeenCalled();
- });
-
it('should not sort if column is missing', () => {
dataTable.ngAfterContentInit();
let adapter = dataTable.data;
@@ -266,9 +261,9 @@ describe('DataTable', () => {
it('should invert "select all" status', () => {
expect(dataTable.isSelectAllChecked).toBeFalsy();
- dataTable.onSelectAllClick(null);
+ dataTable.onSelectAllClick( { checked: true });
expect(dataTable.isSelectAllChecked).toBeTruthy();
- dataTable.onSelectAllClick(null);
+ dataTable.onSelectAllClick( { checked: false });
expect(dataTable.isSelectAllChecked).toBeFalsy();
});
@@ -280,13 +275,13 @@ describe('DataTable', () => {
dataTable.multiselect = true;
dataTable.ngAfterContentInit();
- dataTable.onSelectAllClick(null);
+ dataTable.onSelectAllClick( { checked: true });
expect(dataTable.isSelectAllChecked).toBe(true);
for (let i = 0; i < rows.length; i++) {
expect(rows[i].isSelected).toBe(true);
}
- dataTable.onSelectAllClick(null);
+ dataTable.onSelectAllClick( { checked: false });
expect(dataTable.isSelectAllChecked).toBe(false);
for (let i = 0; i < rows.length; i++) {
expect(rows[i].isSelected).toBe(false);
@@ -297,7 +292,7 @@ describe('DataTable', () => {
dataTable.multiselect = true;
dataTable.ngAfterContentInit();
- dataTable.onSelectAllClick(null);
+ dataTable.onSelectAllClick( { checked: true });
expect(dataTable.isSelectAllChecked).toBe(true);
});
@@ -309,7 +304,7 @@ describe('DataTable', () => {
dataTable.multiselect = false;
dataTable.ngAfterContentInit();
- dataTable.onSelectAllClick(null);
+ dataTable.onSelectAllClick( { checked: true });
expect(dataTable.isSelectAllChecked).toBe(true);
for (let i = 0; i < rows.length; i++) {
expect(rows[i].isSelected).toBe(false);
diff --git a/ng2-components/ng2-alfresco-datatable/src/components/datatable/datatable.component.ts b/ng2-components/ng2-alfresco-datatable/src/components/datatable/datatable.component.ts
index 39481b380d..f7cc5e8518 100644
--- a/ng2-components/ng2-alfresco-datatable/src/components/datatable/datatable.component.ts
+++ b/ng2-components/ng2-alfresco-datatable/src/components/datatable/datatable.component.ts
@@ -32,6 +32,7 @@ import { DataTableAdapter, DataRow, DataColumn, DataSorting, DataRowEvent, Objec
import { DataCellEvent } from './data-cell.event';
import { DataRowActionEvent } from './data-row-action.event';
import { DataColumnListComponent } from 'ng2-alfresco-core';
+import { MdCheckboxChange } from '@angular/material';
declare var componentHandler;
@@ -178,25 +179,15 @@ export class DataTableComponent implements AfterContentInit, OnChanges {
}
}
- onSelectAllClick(e?: Event) {
- if (e) {
- e.preventDefault();
- }
-
- this.isSelectAllChecked = !this.isSelectAllChecked;
+ onSelectAllClick(e: MdCheckboxChange) {
+ this.isSelectAllChecked = e.checked;
if (this.multiselect) {
let rows = this.data.getRows();
if (rows && rows.length > 0) {
for (let i = 0; i < rows.length; i++) {
- rows[i].isSelected = this.isSelectAllChecked;
+ rows[i].isSelected = e.checked;
}
- // TODO: left for reference, will be removed during future revisions
- /*
- this._ngZone.run(() => {
- this.data.getRows()[1].isSelected = true;
- });
- */
}
}
}
|