4.0.0 • Published 5 months ago

ngx-custom-material-file-input v4.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

npm version npm npm.io Coverage Status

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

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

material-file-input

This project provides :

  • ngx-mat-file-input component, to use inside Angular Material mat-form-field
  • a FileValidator with maxContentSize, to limit the file size
  • a ByteFormatPipe to format the file size in a human-readable format

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 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 }
4.0.0

5 months ago

3.0.0

5 months ago

2.0.0

5 months ago

1.0.1

5 months ago

1.0.0

5 months ago