diff --git a/src/App.vue b/src/App.vue index 794fed2460215195e33b711ebe8ec1c7d756be49..fa794b4b6f36a00f83270d340f19fa892d3f2b0a 100644 --- a/src/App.vue +++ b/src/App.vue @@ -656,6 +656,13 @@ export default { fields: [] } ] + }, + { + title: "Submit", + type: "digitalobject", + id: "submit", + isActive: true, + fields: [] } ] }; @@ -837,17 +844,6 @@ export default { this.form.sections[2].categories[2].fields.push( fields.getField("0-Organism-assayTarget") ); - var organism_assayTarget = fields.getField("0-Organism"); - - organism_assayTarget.label = "Assay Target Organism"; - organism_assayTarget.subjectType = "organism_assayTarget"; - organism_assayTarget.visible = false; - organism_assayTarget.description = "Organism"; - organism_assayTarget.category = ["assayTarget"]; - organism_assayTarget.subcategory = ["organismAssayTarget"]; - organism_assayTarget.stateVoc = "organism_assay_target"; - - this.form.sections[2].categories[2].fields.push(organism_assayTarget); var cell_organism_assayTarget = fields.getField("0-Cellular-organism"); //cell_organism_assayTarget.description = ["Cellular organism", "Organism"]; diff --git a/src/components/input/PhSubmit.vue b/src/components/input/PhSubmit.vue index 9ddcfdc082ef3525a94311393cd6e0521089e29d..3920a926494145f52704b04e9727c02909ddfaa4 100644 --- a/src/components/input/PhSubmit.vue +++ b/src/components/input/PhSubmit.vue @@ -15,7 +15,14 @@ <v-tabs-items v-model="activetab"> <v-tab-item v-if="form"> - <ph-input-form :form="form"></ph-input-form> + <ph-input-form + :form="form" + :loading="loading" + :templating="templating" + :floatingsavebutton="floatingsavebutton" + :targetpid="targetpid" + v-on:submit="checkWarnings()" + ></ph-input-form> <v-layout align-center justify-end row class="ma-3"> <v-dialog v-if="templating" v-model="templatedialog" width="500"> @@ -399,6 +406,7 @@ export default { }, checkWarnings: function() { + console.log("in check warning", this.s); var self = this; let missingF = []; diff --git a/src/components/input/pharma-input-fields/PhInputForm.vue b/src/components/input/pharma-input-fields/PhInputForm.vue index 554088bd59b745405a1e1407d5ef6dd73c9a4ce8..768844d8d2890e4df2f8d03e9fe5b9becbb3f645 100644 --- a/src/components/input/pharma-input-fields/PhInputForm.vue +++ b/src/components/input/pharma-input-fields/PhInputForm.vue @@ -238,6 +238,64 @@ </v-flex> </v-layout> </v-flex> + <v-flex v-else-if="n== 'submit'"> + <v-layout align-center justify-end row class="ma-3"> + <v-dialog v-if="templating" v-model="templatedialog" width="500"> + <v-btn + class="mr-3" + slot="activator" + dark + raised + :loading="loading" + :disabled="loading" + color="grey" + >Save as template</v-btn> + <v-card> + <v-card-title class="headline grey lighten-2" primary-title> + <span v-t="'Save as template'"></span> + </v-card-title> + <v-card-text> + <v-text-field v-model="templatename" :label="$t('Template name')"></v-text-field> + </v-card-text> + <v-card-actions> + <v-spacer></v-spacer> + <v-btn + :loading="loading" + :disabled="loading" + color="grey" + dark + @click="templatedialog= false" + > + <span v-t="'Cancel'"></span> + </v-btn> + <v-btn :loading="loading" :disabled="loading" color="primary"> + <span v-t="'Save'"></span> + </v-btn> + </v-card-actions> + </v-card> + </v-dialog> + <v-btn + v-if="targetpid" + raised + :loading="loading" + :disabled="loading" + color="primary" + @click="save()" + > + <span v-t="'Save'"></span> + </v-btn> + <v-btn + v-else + raised + :loading="loading" + :disabled="loading" + color="primary" + @click="$emit('submit')" + > + <span v-t="'Submit'"></span> + </v-btn> + </v-layout> + </v-flex> </v-stepper-content> </v-stepper-items> </v-stepper> @@ -285,6 +343,25 @@ export default { default: { sections: [] } + }, + loading: { + type: Boolean, + default: false + }, + templating: { + type: Boolean, + default: true + }, + floatingsavebutton: { + type: Boolean, + default: false + }, + targetpid: { + type: String + }, + addbutton: { + type: Boolean, + default: true } }, @@ -334,12 +411,19 @@ export default { data() { return { loading: false, + templatedialog: "", + templatename: "", window: 0, stepper: 1, - stepsTitle: ["General metadata", "File", "Content Classification"], - steps: ["general", "file", "content"] + stepsTitle: [ + "General metadata", + "File", + "Content Classification", + "Submission" + ], + steps: ["general", "file", "content", "submit"] }; }, methods: { diff --git a/src/utils/fields.js b/src/utils/fields.js index 4d5fc7edd9e2712356faf6741288a17cfcf5cf9f..cd468f50bc475545da21f610dd4db997241c54ef 100644 --- a/src/utils/fields.js +++ b/src/utils/fields.js @@ -1283,6 +1283,7 @@ const fields = [ value: "", required: false, visible: false, + freefield: true, ontology: "ncbitaxon", ontClass: "NCBITaxon_131567", topId: "NCBITaxon_131567", @@ -1300,6 +1301,7 @@ const fields = [ value: "", required: false, visible: false, + freefield: true, ontology: "ncbitaxon", ontClass: "NCBITaxon_10239", topId: "NCBITaxon_10239", @@ -1315,6 +1317,7 @@ const fields = [ //subjectType: "AssayViroids", label: "Viroids", value: "", + freefield: true, required: false, visible: false, ontology: "ncbitaxon",