From 90c03fcc2622b9f783a160ceeb63ac9d0bb09d46 Mon Sep 17 00:00:00 2001 From: John Chilton Date: Fri, 7 Aug 2020 08:59:48 -0400 Subject: [PATCH] Place specialized upload button in the tool form. --- .../components/DataDialog/DataDialog.vue | 15 +++ .../components/Datatypes/index.test.js | 2 + .../scripts/components/Datatypes/model.js | 4 + .../scripts/components/Upload/Collection.vue | 5 +- .../scripts/components/Upload/Composite.vue | 4 +- .../scripts/components/Upload/Default.vue | 38 +++++- .../scripts/components/Upload/RulesInput.vue | 4 +- .../components/Upload/UploadBoxMixin.js | 10 +- .../scripts/components/Upload/UploadModal.vue | 113 +++++++++++++++--- .../galaxy/scripts/components/Upload/index.js | 2 + .../galaxy/scripts/components/Upload/mount.js | 13 ++ .../scripts/components/Upload/test_helpers.js | 2 +- .../scripts/mvc/ui/ui-select-content.js | 33 ++++- client/galaxy/scripts/utils/data.js | 8 +- client/galaxy/scripts/utils/uploadbox.js | 3 +- client/galaxy/style/scss/base.scss | 9 ++ lib/galaxy/managers/configuration.py | 1 + lib/galaxy/webapps/galaxy/config_schema.yml | 9 ++ 18 files changed, 240 insertions(+), 35 deletions(-) create mode 100644 client/galaxy/scripts/components/Upload/mount.js 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 @@