diff --git a/docs/file-draggable.directive.md b/docs/file-draggable.directive.md new file mode 100644 index 0000000000..bca9999f11 --- /dev/null +++ b/docs/file-draggable.directive.md @@ -0,0 +1,74 @@ +# File Draggable directive +Provide drag-and-drop features for an element such as a `div`. + +## Basic Usage + +```html +
+ + Drag and Drop files here! +
+``` + +Some sample CSS to show the drag and drop area: + +```css +.drag-and-drop-border { + vertical-align: middle; + text-align: center; + border: double; + background-color: lightblue; + width: 400px; + height: 100px; +} +``` + +Event handler implementations: + +```ts +export class SomeComponent implements OnInit { + + onFilesDropped(files: File[]): void { + if (files.length) { + // Use for example the uploadService to upload files to ACS + console.log('# of files dropped: ', files.length); + } + } + + onFilesEntityDropped(item: any): void { + // Use for example the uploadService to upload files to ACS + console.log('# of files dropped: ', item); + } + + onFolderEntityDropped(folder: any): void { + if (folder.isDirectory) { + // Use for example the uploadService to upload folder content to ACS + console.log('Folder dropped: ', folder); + } + } +``` + +### Properties + +| Name | Type | Default | Description | +| --- | --- | --- | --- | +| file-draggable | boolean | true | Toggles between enable/disable of the drag-and-drop functionality. | + +### Events + +| Name | Description | +| --- | --- | +| filesEntityDropped | Emitted when one or more files are dragged and dropped onto the draggable element, such as a `div` | +| folderEntityDropped | Emitted when a directory is dragged and dropped onto the draggable element, such as a `div`| +| filesDropped | Emitted when one or more files are dragged and dropped onto the draggable element, such as a `div`| + +## Details +Typically you would use the Upload Drag Area component instead of this directive. + + + + \ No newline at end of file