diff --git a/mapping_workbench/frontend/src/api/mapping-packages/index.js b/mapping_workbench/frontend/src/api/mapping-packages/index.js index 1b7a5f51..fb11f906 100644 --- a/mapping_workbench/frontend/src/api/mapping-packages/index.js +++ b/mapping_workbench/frontend/src/api/mapping-packages/index.js @@ -32,6 +32,10 @@ class MappingPackagesApi extends SectionApi { return [ACTION.VIEW, ACTION.EDIT]; } + get FILE_UPLOAD_FORMATS() { + return {'application/zip': ['.zip']} + } + constructor() { super("mapping_packages"); this.isProjectResource = true; diff --git a/mapping_workbench/frontend/src/api/test-data-suites/index.js b/mapping_workbench/frontend/src/api/test-data-suites/index.js index 15757e1d..af6ae785 100644 --- a/mapping_workbench/frontend/src/api/test-data-suites/index.js +++ b/mapping_workbench/frontend/src/api/test-data-suites/index.js @@ -25,7 +25,7 @@ class TestDataSuitesApi extends FileCollectionsApi { } get FILE_UPLOAD_FORMATS() { - return {'ZIP': 'application/zip'} + return {'application/zip': ['.zip']} } get MAPPING_PACKAGE_LINK_FIELD() { diff --git a/mapping_workbench/frontend/src/api/triple-map-fragments/generic.js b/mapping_workbench/frontend/src/api/triple-map-fragments/generic.js index 0f96c476..5266d39c 100644 --- a/mapping_workbench/frontend/src/api/triple-map-fragments/generic.js +++ b/mapping_workbench/frontend/src/api/triple-map-fragments/generic.js @@ -6,6 +6,12 @@ class GenericTripleMapFragmentsApi extends TripleMapFragmentsApi { return "Triple Map Fragments"; } + get FILE_UPLOAD_FORMATS() { + return {'TTL': {['text/ttl']: ['.ttl']}, + 'YAML': {['text/yaml']: ['.yaml']} + } + } + get SECTION_ITEM_TITLE() { return "Triple Map Fragment"; } diff --git a/mapping_workbench/frontend/src/api/triple-map-fragments/specific.js b/mapping_workbench/frontend/src/api/triple-map-fragments/specific.js index 70ddcfc8..d0ec55de 100644 --- a/mapping_workbench/frontend/src/api/triple-map-fragments/specific.js +++ b/mapping_workbench/frontend/src/api/triple-map-fragments/specific.js @@ -15,6 +15,8 @@ class SpecificTripleMapFragmentsApi extends TripleMapFragmentsApi { return [ACTION.EDIT, ACTION.DELETE] } + get + constructor() { super("specific_triple_map_fragments"); this.hasMappingPackage = true; diff --git a/mapping_workbench/frontend/src/components/file-dropzone.js b/mapping_workbench/frontend/src/components/file-dropzone.js index 72b8109b..a9797794 100644 --- a/mapping_workbench/frontend/src/components/file-dropzone.js +++ b/mapping_workbench/frontend/src/components/file-dropzone.js @@ -18,8 +18,7 @@ import Typography from '@mui/material/Typography'; import { FileIcon } from 'src/components/file-icon'; import { bytesToSize } from 'src/utils/bytes-to-size'; -export const FileDropzone = (props) => { - const { caption, files = [], onRemove, onRemoveAll, onUpload, disabled, ...other } = props; +export const FileDropzone = ({ caption, files = [], onRemove, onRemoveAll, onUpload, disabled, ...other }) => { const { getRootProps, getInputProps, isDragActive } = useDropzone(other); const hasAnyFiles = files.length > 0; diff --git a/mapping_workbench/frontend/src/sections/app/file-manager/file-collection-uploader.js b/mapping_workbench/frontend/src/sections/app/file-manager/file-collection-uploader.js index e2841c95..b6bec48b 100644 --- a/mapping_workbench/frontend/src/sections/app/file-manager/file-collection-uploader.js +++ b/mapping_workbench/frontend/src/sections/app/file-manager/file-collection-uploader.js @@ -98,7 +98,7 @@ export const FileCollectionUploader = (props) => { { ); } + const acceptedFormat = sectionApi.FILE_UPLOAD_FORMATS?.[format] ?? {'*/*': []} + return ( { /> } + { - const {onClose, open = false, sectionApi} = props; - +export const PackageImporter = ({onClose, open = false, sectionApi}) => { const defaultPackageTypeValue = DEFAULT_PACKAGE_TYPE; const [files, setFiles] = useState([]); @@ -142,7 +140,7 @@ export const PackageImporter = (props) => {