Home

Awesome

npm version npm Known Vulnerabilities

ngx-custom-material-file-input

This project is a copy of ngx-material-file-input, this was made from angular 14 as a new project, only what was necessary was added and is already updated.

Library VersionAngular Version
1.0.014.0.0
2.0.015.0.0
3.0.016.0.0
4.0.017.0.0
18.0.018.0.0

From now on, the package version will be the same as the Angular version so I don't have to update the table all the time. In this version 18, a new validator for MIME types was added, an example was added in the release notes.

This text is a copy from the original (changing only the necessary package names):

material-file-input

This project provides :

For more code samples, have a look at the DEMO SITE

Install

npm i ngx-custom-material-file-input

API reference

MaterialFileInputModule

import { MaterialFileInputModule } from 'ngx-custom-material-file-input';

@NgModule({
  imports: [
    // the module for this lib
    MaterialFileInputModule
  ]
})

NGX_MAT_FILE_INPUT_CONFIG token (optional):

Change the unit of the ByteFormat pipe

export const config: FileInputConfig = {
  sizeUnit: 'Octet'
};

// add with module injection
providers: [{ provide: NGX_MAT_FILE_INPUT_CONFIG, useValue: config }];

FileInputComponent

selector: <ngx-mat-file-input>

implements: MatFormFieldControl<FileInput> from Angular Material

Additionnal properties

NameDescription
@Input() valuePlaceholder: stringPlaceholder for file names, empty by default
@Input() multiple: booleanAllows multiple file inputs, false by default
@Input() autofilled: booleanWhether the input is currently in an autofilled state. If property is not present on the control it is assumed to be false.
@Input() accept: stringAny value that accept attribute can get. more about "accept"
value: FileInputForm control value
empty: booleanWhether the input is empty (no files) or not
clear(): (event?) => voidRemoves all files from the input

ByteFormatPipe

Example

<span>{{ 104857600 | byteFormat }}</span>

Output: 100 MB

FileValidator

NameDescriptionError structure
maxContentSize(value: number): ValidatorFnLimit the total file(s) size to the given value{ actualSize: number, maxSize: number }
acceptedMimeTypes(value: string): ValidatorFnLimit the mime types valid to use given value{ validTypes: string }