JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 859
  • Score
    100M100P100Q103801F
  • License SEE LICENSE IN LICENSE.txt

A simple & configurable Angular Material file upload component.

Package Exports

  • mat-file-upload

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (mat-file-upload) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Angular Material File Upload npm Build Status

This tool is a simple & configurable file upload component for use with Angular Material.

Live Demo: https://bjsawyer.github.io/mat-file-upload/

Screen Shot 2019-04-24 at 8 40 27 PM

Prerequisites

In order to use mat-file-upload in your app, you must have the following dependencies installed:

Usage

  1. Install package from npm (npm i mat-file-upload).
  2. Add MatFileUploadModule to your module's imports, like so:
@NgModule({
  declarations: [AppComponent],
  imports: [
    ...
    MatFileUploadModule,
    ...
  ],
  providers: [],
  bootstrap: [AppComponent],
})
export class AppModule {}
  1. Add the element to your template, like so:

Basic:

<mat-file-upload></mat-file-upload>

Advanced:

<mat-file-upload
  [labelText]="'Select a file (or multiple) to upload:'"
  [selectButtonText]="'Choose File(s)'"
  [selectFilesButtonType]="button"
  [uploadButtonText]="'Submit'"
  [uploadButtonType]="submit"
  [allowMultipleFiles]="true"
  [showUploadButton]="true"
  [customSvgIcon]="'close_custom'"
  [acceptedTypes]="'.png, .jpg, .jpeg'"
  (uploadClicked)="onUploadClicked($event)"
  (selectedFilesChanged)="onSelectedFilesChanged($event)"
>
</mat-file-upload>

Options

@Input() Properties

Directive Type Description Default Value
[labelText] string The text to be displayed for the file upload label "Select file(s)"
[selectButtonText] string The text to be displayed for the button that allows the user to select file(s) "Select file(s)"
[selectFilesButtonType] string The HTML "type" attribute of the "Select Files" button "button"
[uploadButtonText] string The text to be displayed for the button that allows the user to upload file(s) "Upload File(s)"
[uploadButtonType] string The HTML "type" attribute of the "Upload" button "button"
[allowMultipleFiles] boolean True/false representing whether the user can select multiple files at a time false
[showUploadButton] boolean True/false representing whether the "Upload" button is shown in the DOM true
[customSvgIcon] string The name of the custom svgIcon to be used as the "close" button; otherwise defaults to Material's "close" icon null
[acceptedTypes] string The list of file types that are allowed to be uploaded "*.*"

@Output() Properties

Directive Type Description
(uploadClicked) EventEmitter<FileList> Event handler that emits the list of selected files whenever the "Upload" button is clicked
(selectedFilesChanged) EventEmitter<FileList> Event handler that emits the list of selected files whenever the user changes file selection