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 1343f025bc..ce584aefc8 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 @@ -32,7 +32,7 @@ + [adf-upload]="allowDropFiles && rowAllowsDrop(row)" [adf-upload-data]="row"> 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 d9130df2b2..106c2f1e86 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 @@ -264,4 +264,8 @@ export class DataTableComponent implements AfterContentInit, OnChanges { this.executeRowAction.emit(new DataRowActionEvent(row, action)); } } + + rowAllowsDrop(row: DataRow): boolean { + return row.isDropTarget === true; + } } 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 ee381de173..a8a205a15b 100644 --- a/ng2-components/ng2-alfresco-datatable/src/data/datatable-adapter.ts +++ b/ng2-components/ng2-alfresco-datatable/src/data/datatable-adapter.ts @@ -32,6 +32,7 @@ export interface DataTableAdapter { export interface DataRow { isSelected: boolean; + isDropTarget?: boolean; hasValue(key: string): boolean; getValue(key: string): any; } 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 0f8a513652..8bc358ca6e 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 @@ -209,7 +209,7 @@ export class ObjectDataRow implements DataRow { } hasValue(key: string): boolean { - return this.getValue(key) ? true : false; + return this.getValue(key) !== undefined; } } diff --git a/ng2-components/ng2-alfresco-documentlist/src/data/share-datatable-adapter.ts b/ng2-components/ng2-alfresco-documentlist/src/data/share-datatable-adapter.ts index 4daad2b849..1d7942ff6c 100644 --- a/ng2-components/ng2-alfresco-documentlist/src/data/share-datatable-adapter.ts +++ b/ng2-components/ng2-alfresco-documentlist/src/data/share-datatable-adapter.ts @@ -234,6 +234,7 @@ export class ShareDataRow implements DataRow { cache: { [key: string]: any } = {}; isSelected: boolean = false; + readonly isDropTarget; get node(): NodeMinimalEntry { return this.obj; @@ -243,6 +244,8 @@ export class ShareDataRow implements DataRow { if (!obj) { throw new Error(ShareDataRow.ERR_OBJECT_NOT_FOUND); } + + this.isDropTarget = obj.entry && obj.entry.isFolder; } cacheValue(key: string, value: any): any { @@ -258,7 +261,7 @@ export class ShareDataRow implements DataRow { } hasValue(key: string): boolean { - return this.getValue(key) ? true : false; + return this.getValue(key) !== undefined; } }