dynamic-display-shared
Version:
A library for dynamic view
37 lines • 4.63 kB
JavaScript
import { getFileExtension } from './documents.helper';
export function requiredFileType(types) {
return (control) => {
const fileList = control.value;
if (fileList) {
const extension = getFileExtension(fileList[0].name).toLowerCase();
if (!types.some(type => type.toLowerCase().localeCompare(extension))) {
return {
requiredFileType: true
};
}
return null;
}
return null;
};
}
export function requiredFileTypeV2(control) {
const types = ['pdf', 'dwg', 'shp'];
if (control.value) {
let extension = '';
const fileList = control.value;
if (typeof control.value === 'string' /* || control.value instanceof String*/) {
extension = getFileExtension(control.value).toLowerCase();
}
else {
extension = getFileExtension(fileList.item(0).name).toLowerCase();
}
if (!types.includes(extension)) {
return {
requiredFileType: true
};
}
return null;
}
return null;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWlyZWRGaWxlVHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2R5bmFtaWMtZGlzcGxheS1zaGFyZWQvc3JjL2xpYi9zaGFyZWQvZG9jdW1lbnRzL3JlcXVpcmVkRmlsZVR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQW9CO0lBQ25ELE9BQU8sQ0FBQyxPQUFvQixFQUFFLEVBQUU7UUFDOUIsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLEtBQWlCLENBQUM7UUFDM0MsSUFBSSxRQUFRLEVBQUU7WUFDWixNQUFNLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ3BFLE9BQU87b0JBQ0wsZ0JBQWdCLEVBQUUsSUFBSTtpQkFDdkIsQ0FBQzthQUNIO1lBQ0QsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUNELE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxPQUF3QjtJQUV6RCxNQUFNLEtBQUssR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDcEMsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO1FBQ2pCLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQztRQUNuQixNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBaUIsQ0FBQztRQUUzQyxJQUFJLE9BQU8sT0FBTyxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUEsdUNBQXVDLEVBQUU7WUFDNUUsU0FBUyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUMzRDthQUFNO1lBQ0wsU0FBUyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDcEU7UUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUM5QixPQUFPO2dCQUNMLGdCQUFnQixFQUFFLElBQUk7YUFDdkIsQ0FBQztTQUNIO1FBQ0QsT0FBTyxJQUFJLENBQUM7S0FDYjtJQUNELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGdldEZpbGVFeHRlbnNpb24gfSBmcm9tICcuL2RvY3VtZW50cy5oZWxwZXInO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVpcmVkRmlsZVR5cGUodHlwZXM6IEFycmF5PHN0cmluZz4pIHtcclxuICByZXR1cm4gKGNvbnRyb2w6IEZvcm1Db250cm9sKSA9PiB7XHJcbiAgICBjb25zdCBmaWxlTGlzdCA9IGNvbnRyb2wudmFsdWUgYXMgRmlsZUxpc3Q7XHJcbiAgICBpZiAoZmlsZUxpc3QpIHtcclxuICAgICAgY29uc3QgZXh0ZW5zaW9uID0gZ2V0RmlsZUV4dGVuc2lvbihmaWxlTGlzdFswXS5uYW1lKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICBpZiAoIXR5cGVzLnNvbWUodHlwZSA9PiB0eXBlLnRvTG93ZXJDYXNlKCkubG9jYWxlQ29tcGFyZShleHRlbnNpb24pKSkge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICByZXF1aXJlZEZpbGVUeXBlOiB0cnVlXHJcbiAgICAgICAgfTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9O1xyXG59XHJcbmV4cG9ydCBmdW5jdGlvbiByZXF1aXJlZEZpbGVUeXBlVjIoY29udHJvbDogQWJzdHJhY3RDb250cm9sKSB7XHJcblxyXG4gIGNvbnN0IHR5cGVzID0gWydwZGYnLCAnZHdnJywgJ3NocCddO1xyXG4gIGlmIChjb250cm9sLnZhbHVlKSB7XHJcbiAgICBsZXQgZXh0ZW5zaW9uID0gJyc7XHJcbiAgICBjb25zdCBmaWxlTGlzdCA9IGNvbnRyb2wudmFsdWUgYXMgRmlsZUxpc3Q7XHJcblxyXG4gICAgaWYgKHR5cGVvZiBjb250cm9sLnZhbHVlID09PSAnc3RyaW5nJy8qIHx8IGNvbnRyb2wudmFsdWUgaW5zdGFuY2VvZiBTdHJpbmcqLykge1xyXG4gICAgICBleHRlbnNpb24gPSBnZXRGaWxlRXh0ZW5zaW9uKGNvbnRyb2wudmFsdWUpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBleHRlbnNpb24gPSBnZXRGaWxlRXh0ZW5zaW9uKGZpbGVMaXN0Lml0ZW0oMCkhLm5hbWUpLnRvTG93ZXJDYXNlKCk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXR5cGVzLmluY2x1ZGVzKGV4dGVuc2lvbikpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICByZXF1aXJlZEZpbGVUeXBlOiB0cnVlXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbiJdfQ==