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 10b31a65f8..1feceb707b 100644
--- a/demo-shell-ng2/app/components/datatable/datatable-demo.component.html
+++ b/demo-shell-ng2/app/components/datatable/datatable-demo.component.html
@@ -37,4 +37,5 @@
+
diff --git a/demo-shell-ng2/app/components/datatable/datatable-demo.component.ts b/demo-shell-ng2/app/components/datatable/datatable-demo.component.ts
index fc22fbf714..6cb99e0a25 100644
--- a/demo-shell-ng2/app/components/datatable/datatable-demo.component.ts
+++ b/demo-shell-ng2/app/components/datatable/datatable-demo.component.ts
@@ -17,6 +17,8 @@
import { Component, Input } from '@angular/core';
import { ObjectDataTableAdapter, DataSorting, ObjectDataRow, ObjectDataColumn, DataCellEvent, DataRowActionEvent } from 'ng2-alfresco-datatable';
+import { AlfrescoApiService } from 'ng2-alfresco-core';
+import { Observable } from 'rxjs/Rx';
@Component({
selector: 'datatable-demo',
@@ -43,7 +45,7 @@ export class DataTableDemoComponent {
email: 'denys.vuika@alfresco.com'
};
- constructor() {
+ constructor(private apiService: AlfrescoApiService) {
this.reset();
}
@@ -80,11 +82,11 @@ export class DataTableDemoComponent {
}
],
[
- {type: 'image', key: 'icon', title: '', srTitle: 'Thumbnail'},
- {type: 'text', key: 'id', title: 'Id', sortable: true},
- {type: 'text', key: 'createdOn', title: 'Created On', sortable: true},
- {type: 'text', key: 'name', title: 'Name', cssClass: 'full-width name-column', sortable: true},
- {type: 'text', key: 'createdBy.name', title: 'Created By', sortable: true}
+ { type: 'image', key: 'icon', title: '', srTitle: 'Thumbnail' },
+ { type: 'text', key: 'id', title: 'Id', sortable: true },
+ { type: 'text', key: 'createdOn', title: 'Created On', sortable: true },
+ { type: 'text', key: 'name', title: 'Name', cssClass: 'full-width name-column', sortable: true },
+ { type: 'text', key: 'createdBy.name', title: 'Created By', sortable: true }
]
);
@@ -172,4 +174,33 @@ export class DataTableDemoComponent {
onRowDblClick(event) {
console.log(event);
}
+
+ getRowForNode() {
+ let opts: any = {
+ includeSource: true,
+ include: ['path', 'properties', 'allowableOperations']
+ };
+
+ Observable.fromPromise(this.apiService.getInstance().nodes
+ .getNodeInfo('-my-', opts)).subscribe((data) => {
+ console.log('FUnNy');
+ console.log(data);
+ let objects = new ObjectDataTableAdapter([
+ {
+ id: data.id,
+ name: data.name,
+ createdBy: data.createdByUser.displayName,
+ createdOn: new Date(data.createdAt),
+ icon: 'material-icons://face'
+ }],
+ [
+ { type: 'image', key: 'icon', title: '', srTitle: 'Thumbnail' },
+ { type: 'text', key: 'id', title: 'Id', sortable: true },
+ { type: 'text', key: 'createdOn', title: 'Created On', sortable: true },
+ { type: 'text', key: 'name', title: 'Name', cssClass: 'full-width name-column', sortable: true },
+ { type: 'text', key: 'createdBy.name', title: 'Created By', sortable: true }
+ ]);
+ this.data = objects;
+ });
+ }
}
diff --git a/ng2-components/ng2-alfresco-datatable/src/components/datatable/datatable.component.spec.ts b/ng2-components/ng2-alfresco-datatable/src/components/datatable/datatable.component.spec.ts
index d353594a98..40fbc3ccb0 100644
--- a/ng2-components/ng2-alfresco-datatable/src/components/datatable/datatable.component.spec.ts
+++ b/ng2-components/ng2-alfresco-datatable/src/components/datatable/datatable.component.spec.ts
@@ -66,6 +66,31 @@ describe('DataTable', () => {
};
});
+ it('should change the rows on changing of the data', () => {
+ let newData = new ObjectDataTableAdapter(
+ [
+ { name: 'TEST' },
+ { name: 'FAKE' }
+ ],
+ [new ObjectDataColumn({ key: 'name' })]
+ );
+ dataTable.data = new ObjectDataTableAdapter(
+ [
+ { name: '1' },
+ { name: '2' }
+ ],
+ [new ObjectDataColumn({ key: 'name' })]
+ );
+
+ dataTable.ngOnChanges({
+ data: new SimpleChange(null, newData, false)
+ });
+ fixture.detectChanges();
+
+ expect(element.querySelector('[data-automation-id="text_TEST"]')).not.toBeNull();
+ expect(element.querySelector('[data-automation-id="text_FAKE"]')).not.toBeNull();
+ });
+
it('should reset selection on mode change', () => {
spyOn(dataTable, 'resetSelection').and.callThrough();
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 26724b1714..47f3b400f5 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
@@ -133,6 +133,8 @@ export class DataTableComponent implements AfterContentInit, OnChanges, DoCheck
if (this.isPropertyChanged(changes['data'])) {
if (this.isTableEmpty()) {
this.initTable();
+ }else {
+ this.data = changes['data'].currentValue;
}
return;
}