Actually send requests

This commit is contained in:
Joel Collins 2019-06-17 12:14:29 +01:00
parent 09f9ad6f7d
commit f6ddd7f1c2

View file

@ -19,12 +19,17 @@
</component> </component>
</div> </div>
<button type="submit" class="uk-button uk-button-primary uk-form-small uk-float-right uk-margin-small uk-width-1-1">Submit</button> <div class="uk-text-center uk-container" v-if="taskRunning">
<div class="center-spinner" uk-spinner></div>
</div>
<button v-bind:hidden="taskRunning" type="submit" class="uk-button uk-button-primary uk-form-small uk-float-right uk-margin-small uk-width-1-1">Submit</button>
</form> </form>
</template> </template>
<script> <script>
import axios from 'axios'
import numberInput from "./fieldComponents/numberInput"; import numberInput from "./fieldComponents/numberInput";
import selectList from "./fieldComponents/selectList"; import selectList from "./fieldComponents/selectList";
@ -58,7 +63,8 @@ export default {
data: function () { data: function () {
return { return {
formData: {} formData: {},
taskRunning: false
} }
}, },
@ -69,15 +75,52 @@ export default {
}, },
submitForm() { submitForm() {
console.log(`Mock-submitting form to ${this.submitApiUri}:`) this.newQuickRequest(this.formData)
console.log(this.formData) },
}
newQuickRequest: function(params) {
console.log(this.submitApiUri)
console.log(params)
// Send a quick request
axios.post(this.submitApiUri, params)
.then(response => {
console.log(response)
// TODO: Have this perform a GET request to update all available parameters
})
.catch(error => {
this.modalError(error) // Let mixin handle error
})
},
newLongRequest: function(params) {
this.taskRunning = true
axios.post(this.submitApiUri, params)
.then(response => {
console.log("Task ID: " + response.data.id)
// Start the store polling TaskId for success
return this.$store.dispatch('pollTask', [response.data.id, null, null])
})
.then(() => {
console.log("Successfully finished task")
})
.catch(error => {
this.modalError(error) // Let mixin handle error
})
.finally(() => {
console.log("Cleaning up after task.")
this.taskRunning = false
})
},
}, },
computed: { computed: {
pluginApiUri: function () {
return this.$store.getters.uri + "/plugin"
},
submitApiUri: function () { submitApiUri: function () {
return this.$store.getters.uri + this.route return this.pluginApiUri + this.route
}, },
} }