@vipstorage/material-file-input
Version:
Angular Material File Input
20 lines • 2.1 kB
JavaScript
/**
* Validator for input file accept
* @param accept Allowable type of file
*/
export function AcceptValidator(accept) {
return (ctrl) => {
if (!accept) {
throw ('AcceptValidator: allowable type of file can not be empty');
}
if (ctrl.value == null)
return null;
if (!accept.includes(ctrl.value.type)) {
return {
accept: true
};
}
return null;
};
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXB0LnZhbGlkYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2ZpbGUtaW5wdXQvc3JjL2xpYi92YWxpZGF0b3JzL2FjY2VwdC52YWxpZGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUFjO0lBQzFDLE9BQU8sQ0FBQyxJQUFxQixFQUEyQixFQUFFO1FBQ3RELElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDVCxNQUFNLENBQUMsMERBQTBELENBQUMsQ0FBQztTQUN0RTtRQUVELElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNuQyxPQUFPO2dCQUNILE1BQU0sRUFBRSxJQUFJO2FBQ2YsQ0FBQztTQUNMO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFFaEIsQ0FBQyxDQUFBO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbi8qKlxuICogVmFsaWRhdG9yIGZvciBpbnB1dCBmaWxlIGFjY2VwdFxuICogQHBhcmFtIGFjY2VwdCBBbGxvd2FibGUgdHlwZSBvZiBmaWxlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBBY2NlcHRWYWxpZGF0b3IoYWNjZXB0OiBzdHJpbmcpOiBWYWxpZGF0b3JGbiB7XG4gICAgcmV0dXJuIChjdHJsOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICAgIGlmICghYWNjZXB0KSB7XG4gICAgICAgICAgICB0aHJvdyAoJ0FjY2VwdFZhbGlkYXRvcjogYWxsb3dhYmxlIHR5cGUgb2YgZmlsZSBjYW4gbm90IGJlIGVtcHR5Jyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY3RybC52YWx1ZSA9PSBudWxsKSByZXR1cm4gbnVsbDtcblxuICAgICAgICBpZiAoIWFjY2VwdC5pbmNsdWRlcyhjdHJsLnZhbHVlLnR5cGUpKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGFjY2VwdDogdHJ1ZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuXG4gICAgfVxufSJdfQ==