diff --git a/client/galaxy/scripts/components/DataDialog/DataDialog.vue b/client/galaxy/scripts/components/DataDialog/DataDialog.vue index f7dd42fa8fa..aff6fe39a65 100644 --- a/client/galaxy/scripts/components/DataDialog/DataDialog.vue +++ b/client/galaxy/scripts/components/DataDialog/DataDialog.vue @@ -23,6 +23,10 @@
Back + +
+ Upload + { axiosMock.onGet(`/api/datatypes/types_and_mapping`).reply(200, typesAndMappingResponse); await getDatatypesMapper().then((mapper) => { expect(mapper.isSubType("txt", "data")).to.equals(true); + expect(mapper.isSubType("txt", "txt")).to.equals(true); expect(mapper.isSubType("data", "txt")).to.equals(false); + expect(mapper.isSubTypeOfAny("data", ["txt", "data"])).to.equals(true); }); }); }); diff --git a/client/galaxy/scripts/components/Datatypes/model.js b/client/galaxy/scripts/components/Datatypes/model.js index 1039dd96d20..a6812070821 100644 --- a/client/galaxy/scripts/components/Datatypes/model.js +++ b/client/galaxy/scripts/components/Datatypes/model.js @@ -10,4 +10,8 @@ export class DatatypesMapperModel { parent = mapping.ext_to_class_name[parent]; return mapping.class_to_classes[child] && parent in mapping.class_to_classes[child]; } + + isSubTypeOfAny(child, parents) { + return parents.some((parent) => this.isSubType(child, parent)); + } } diff --git a/client/galaxy/scripts/components/Upload/Collection.vue b/client/galaxy/scripts/components/Upload/Collection.vue index 0a116e7f0c2..64b0947d72f 100644 --- a/client/galaxy/scripts/components/Upload/Collection.vue +++ b/client/galaxy/scripts/components/Upload/Collection.vue @@ -42,7 +42,7 @@