| ## TdFileInputComponent: td-file-input |
| |
| ## Usage |
| |
| Add the element wherever you want to bind a [File | FileList] into a class model without additional elements. |
| |
| Can also drop a file(s) into the component to bind the file(s) to it. |
| |
| Example for usage: |
| |
| ```html |
| <td-file-input [(ngModel)]="files" color="primary" (select)="selectEvent($event)" |
| accept=".ext,.anotherExt" [disabled]="disabled" multiple> |
| <mat-icon>attach_file</mat-icon><span>Choose a file...</span> |
| </td-file-input> |
| ``` |
| |
| ```typescript |
| export class Demo { |
| |
| files: File | FileList; |
| disabled: boolean = false; |
| |
| selectEvent(files: FileList | File): void { |
| if (files instanceof FileList) { |
| ... |
| } else { |
| ... |
| } |
| }; |
| } |
| ``` |
| |
| ## API Summary |
| |
| #### Inputs |
| |
| + color: string |
| + Sets button color. Uses same color palette accepted as [MatButton]. |
| + multiple: boolean |
| + Sets if multiple files can be dropped/selected at once in [TdFileUploadComponent]. |
| + accept: string |
| + Sets files accepted when opening the file browser dialog. Same as "accept" attribute in `<input/>` element. |
| + disabled: boolean |
| + Disables [TdFileUploadComponent] and clears selected/dropped files. |
| |
| #### Events |
| |
| + select: function($event) |
| + Event emitted when a file is selected. |
| + Emits a [File or FileList] object. |
| |
| #### Methods |
| |
| + clear: function |
| + Used to clear the selected files from the [TdFileInputComponent]. |
| |
| ## Setup |
| |
| Import the [CovalentFileModule] in your NgModule: |
| |
| ```typescript |
| import { CovalentFileModule } from '@covalent/core/file'; |
| @NgModule({ |
| imports: [ |
| CovalentFileModule, |
| ... |
| ], |
| ... |
| }) |
| export class MyModule {} |
| ``` |
| |
| --- |
| |
| ## TdFileSelectDirective: tdFileSelect |
| |
| ## Usage |
| |
| Add the directive wherever you want to bind a [File | FileList] into a class model to an existing <input type="file"/> element. |
| |
| Uses optional [(ngModel)] directive to bind file. (if [(ngModel]) exists, [fileSelect] is omitted) |
| |
| Example for usage: |
| |
| ```html |
| <input type="file" tdFileSelect (fileSelect)="files = $event" multiple> |
| ``` |
| |
| ## API Summary |
| |
| #### Inputs |
| |
| + multiple: boolean |
| + Sets whether multiple files can be selected at once in host element, or just a single file. |
| + Can also be "multiple" native attribute. |
| |
| #### Events |
| |
| + fileSelect: function($event) |
| + Event emitted when a file or files are selected in host [HTMLInputElement]. |
| + Emits a [FileList or File] object. Alternative to not use [(ngModel)]. |
| |
| ## TdFileDropDirective: tdFileDrop |
| |
| ## Usage |
| |
| Add the directive wherever you want to add drop support to an element to bind a [File | FileList] into a class model. |
| |
| To add effect when <code>ondragenter</code> event is executed, override <code>.drop-zone</code> class in the context you are using it. |
| |
| Note: if element has child elements, add <code>* { pointer-events: none; }</code> to avoid event being thrown again while navigating in child elements. |
| |
| Example for usage: |
| |
| ```html |
| <div tdFileDrop (fileDrop)="files = $event" multiple [disabled]="disabled"> |
| </div> |
| ``` |
| |
| |
| ## API Summary |
| |
| #### Inputs |
| |
| + multiple: boolean |
| + Sets whether multiple files can be dropped at once in host element, or just a single file. |
| + Can also be "multiple" native attribute. |
| + disabled: boolean |
| + Disabled drop events for host element. |
| |
| #### Events |
| |
| + fileDrop: function($event) |
| + Event emitted when a file or files are dropped in host element after being validated. |
| + Emits a [FileList or File] object. |
| |
| |