UNPKG

dynamic-display-shared

Version:

A library for dynamic view

37 lines 4.63 kB
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==