-
+
+
+ |
diff --git a/ng2-components/ng2-alfresco-datatable/src/components/datatable.component.ts b/ng2-components/ng2-alfresco-datatable/src/components/datatable.component.ts
index 99ae7451c1..24486faa2c 100644
--- a/ng2-components/ng2-alfresco-datatable/src/components/datatable.component.ts
+++ b/ng2-components/ng2-alfresco-datatable/src/components/datatable.component.ts
@@ -17,6 +17,7 @@
import {
Component,
+ // NgZone,
OnInit,
Input,
Output,
@@ -46,12 +47,19 @@ export class DataTableComponent implements OnInit, AfterViewChecked {
@Input()
data: DataTableAdapter;
+ @Input()
+ multiselect: boolean = false;
+
@Output()
rowClick: EventEmitter = new EventEmitter();
@Output()
rowDblClick: EventEmitter = new EventEmitter();
+ isSelectAllChecked: boolean = false;
+
+ constructor(/*private _ngZone?: NgZone*/) {}
+
ngOnInit() {
if (this.data) {
console.log(this.data);
@@ -98,6 +106,26 @@ export class DataTableComponent implements OnInit, AfterViewChecked {
}
}
+ onSelectAllClick(e?) {
+ if (e) {
+ e.preventDefault();
+ }
+
+ this.isSelectAllChecked = !this.isSelectAllChecked;
+
+ if (this.multiselect) {
+ let rows = this.data.getRows();
+ for (let i = 0; i < rows.length; i++) {
+ rows[i].isSelected = this.isSelectAllChecked;
+ }
+ /*
+ this._ngZone.run(() => {
+ this.data.getRows()[1].isSelected = true;
+ });
+ */
+ }
+ }
+
isIconValue(row: DataRow, col: DataColumn) {
return row.getValue(col.key).startsWith('material-icons://');
}
diff --git a/ng2-components/ng2-alfresco-datatable/src/data/datatable-adapter.ts b/ng2-components/ng2-alfresco-datatable/src/data/datatable-adapter.ts
index 4f5213a840..cec755921f 100644
--- a/ng2-components/ng2-alfresco-datatable/src/data/datatable-adapter.ts
+++ b/ng2-components/ng2-alfresco-datatable/src/data/datatable-adapter.ts
@@ -25,25 +25,33 @@ export interface DataTableAdapter {
getSorting(): DataSorting;
setSorting(sorting: DataSorting): void;
sort(key?: string, direction?: string): void;
+
}
export interface DataRow {
+
+ isSelected: boolean;
hasValue(key: string): boolean;
getValue(key: string): any;
+
}
export interface DataColumn {
+
key: string;
type: string; // text|image
sortable?: boolean;
title?: string;
srTitle?: string;
cssClass?: string;
+
}
export class DataSorting {
+
constructor(
public key?: string,
public direction?: string) {
}
+
}
diff --git a/ng2-components/ng2-alfresco-datatable/src/data/object-datatable-adapter.ts b/ng2-components/ng2-alfresco-datatable/src/data/object-datatable-adapter.ts
index 08d76586ee..011c399758 100644
--- a/ng2-components/ng2-alfresco-datatable/src/data/object-datatable-adapter.ts
+++ b/ng2-components/ng2-alfresco-datatable/src/data/object-datatable-adapter.ts
@@ -97,6 +97,9 @@ export class ObjectDataTableAdapter implements DataTableAdapter {
// Simple implementation of the DataRow interface.
export class ObjectDataRow implements DataRow {
+
+ isSelected: boolean = false;
+
constructor(
private obj: any) {
}
|