This project provides :
ngx-mat-file-input
component, to use inside Angular Material mat-form-field
FileValidator
with maxContentSize
, to limit the file sizeByteFormatPipe
to format the file size in a human-readable formatFor more code samples, have a look at the DEMO SITE
npm i ngx-material-file-input
import { MaterialFileInputModule } from 'ngx-material-file-input';
@NgModule({
imports: [
// the module for this lib
MaterialFileInputModule
]
})
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 }];
selector: <ngx-mat-file-input>
implements: MatFormFieldControl
Additionnal properties
Name | Description |
---|---|
@Input() valuePlaceholder: string |
Placeholder for file names, empty by default |
@Input() multiple: boolean |
Allows multiple file inputs, false by default |
@Input() autofilled: boolean |
Whether the input is currently in an autofilled state. If property is not present on the control it is assumed to be false. |
@Input() accept: string |
Any value that accept attribute can get. more about "accept" |
value: FileInput |
Form control value |
empty: boolean |
Whether the input is empty (no files) or not |
clear(): (event?) => void |
Removes all files from the input |
Example
<span>{{ 104857600 | byteFormat }}</span>
Output: 100 MB
Name | Description | Error structure |
---|---|---|
maxContentSize(value: number ): ValidatorFn |
Limit the total file(s) size to the given value | { actualSize: number, maxSize: number } |
☆ to show support :)