diff --git a/lib/content-services/src/lib/upload/directives/file-draggable.directive.spec.ts b/lib/content-services/src/lib/upload/directives/file-draggable.directive.spec.ts index 5420bc6ae6..08f59cae4e 100644 --- a/lib/content-services/src/lib/upload/directives/file-draggable.directive.spec.ts +++ b/lib/content-services/src/lib/upload/directives/file-draggable.directive.spec.ts @@ -33,7 +33,7 @@ describe('FileDraggableDirective', () => { it('should not allow drag and drop when disabled', () => { component.enabled = false; - const event = new CustomEvent('custom-event'); + const event = new DragEvent('custom-event'); spyOn(event, 'preventDefault').and.stub(); component.onDropFiles(event); component.onDragEnter(event); diff --git a/lib/content-services/src/lib/upload/directives/file-draggable.directive.ts b/lib/content-services/src/lib/upload/directives/file-draggable.directive.ts index eea5b2637b..f9db3e9c03 100644 --- a/lib/content-services/src/lib/upload/directives/file-draggable.directive.ts +++ b/lib/content-services/src/lib/upload/directives/file-draggable.directive.ts @@ -20,9 +20,6 @@ import { FileUtils } from '@alfresco/adf-core'; import { Directive, ElementRef, EventEmitter, Input, NgZone, OnDestroy, OnInit, Output } from '@angular/core'; -/** - * Directive selectors without adf- prefix will be deprecated on 3.0.0 - */ @Directive({ selector: '[adf-file-draggable]' }) @@ -32,17 +29,17 @@ export class FileDraggableDirective implements OnInit, OnDestroy { /** Enables/disables drag-and-drop functionality. */ @Input('adf-file-draggable') - enabled: boolean = true; + enabled = true; /** Emitted when one or more files are dragged and dropped onto the draggable element. */ @Output() - filesDropped: EventEmitter = new EventEmitter(); + filesDropped = new EventEmitter(); /** Emitted when a directory is dragged and dropped onto the draggable element. */ @Output() - folderEntityDropped: EventEmitter = new EventEmitter(); + folderEntityDropped = new EventEmitter(); - private cssClassName: string = 'adf-file-draggable__input-focus'; + private cssClassName = 'adf-file-draggable__input-focus'; private element: HTMLElement; constructor(el: ElementRef, private ngZone: NgZone) { @@ -113,9 +110,10 @@ export class FileDraggableDirective implements OnInit, OnDestroy { * * @param event - DOM event. */ - onDragEnter(event: Event): void { + onDragEnter(event: DragEvent): void { if (this.enabled && !event.defaultPrevented) { this.preventDefault(event); + event.dataTransfer.dropEffect = 'copy'; this.element.classList.add(this.cssClassName); } } @@ -137,9 +135,10 @@ export class FileDraggableDirective implements OnInit, OnDestroy { * * @param event */ - onDragOver(event: Event): void { + onDragOver(event: DragEvent): void { if (this.enabled && !event.defaultPrevented) { this.preventDefault(event); + event.dataTransfer.dropEffect = 'copy'; this.element.classList.add(this.cssClassName); } }