mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 10:04:11 +00:00
25 lines
812 B
TypeScript
25 lines
812 B
TypeScript
import {Directive} from '@angular/core';
|
|
import {NG_VALUE_ACCESSOR, ControlValueAccessor} from '@angular/forms';
|
|
|
|
@Directive({
|
|
// tslint:disable-next-line:directive-selector
|
|
selector: 'input[type=file]',
|
|
// tslint:disable-next-line:no-host-metadata-property
|
|
host : {
|
|
'(change)' : 'onChange($event.target.files)',
|
|
'(blur)': 'onTouched()'
|
|
},
|
|
providers: [
|
|
{ provide: NG_VALUE_ACCESSOR, useExisting: FileValueAccessorDirective, multi: true }
|
|
]
|
|
})
|
|
export class FileValueAccessorDirective implements ControlValueAccessor {
|
|
value: any;
|
|
onChange = (_) => { /* empty */ };
|
|
onTouched = () => { /* empty */};
|
|
|
|
writeValue(value) { /* empty */}
|
|
registerOnChange(fn: any) { this.onChange = fn; }
|
|
registerOnTouched(fn: any) { this.onTouched = fn; }
|
|
}
|