1111 title =" Upload Video"
1212 @hidden =" reset"
1313 >
14- <form >
15- <b-form-group label =" Video Title:" label-cols-sm =" 3" label-for =" input" >
16- <b-form-input v-model =" upload.title" :state =" titleState" placeholder =" Enter video title" />
17- <b-form-invalid-feedback :state =" titleState" >You must give this video a title</b-form-invalid-feedback >
14+ <div v-if =" submitting" >
15+ <h2 >Submitting</h2 >
16+ </div >
17+ <div v-else >
18+ <form >
19+ <b-form-group label =" Video Title:" label-cols-sm =" 3" label-for =" input" >
20+ <b-form-input v-model =" upload.title" :state =" titleState" placeholder =" Enter video title" />
21+ <b-form-invalid-feedback :state =" titleState" >You must give this video a title</b-form-invalid-feedback >
22+ </b-form-group >
23+ <b-form-group label =" Video Dialogue:" label-cols-sm =" 3" label-for =" input" >
24+ <b-form-input
25+ v-model =" upload.dialogue"
26+ :state =" dialogueState"
27+ placeholder =" Enter video dialogue"
28+ />
29+ <b-form-invalid-feedback :state =" dialogueState" >
30+ Every video has to have dialogue.... even if it's just
31+ <code >SCREAMING</code >
32+ </b-form-invalid-feedback >
33+ </b-form-group >
34+ <b-form-group label =" Video Characters:" label-cols-sm =" 3" label-for =" input" >
35+ <b-form-input
36+ v-model =" upload.characters"
37+ :state =" characterState"
38+ placeholder =" Enter video characters"
39+ />
40+ <b-form-invalid-feedback :state =" titleState" >You must give this video characters</b-form-invalid-feedback >
41+ </b-form-group >
42+ </form >
43+ <b-form-group label =" Video File" label-cols-sm =" 3" label-for =" input" >
44+ <label for =" file" >Choose file to upload</label >
45+ <input type =" file" @change =" processFile($event)" name =" avatar" accept =" .ogg" />
1846 </b-form-group >
19- <b-form-group label =" Video Dialogue:" label-cols-sm =" 3" label-for =" input" >
20- <b-form-input
21- v-model =" upload.dialogue"
22- :state =" dialogueState"
23- placeholder =" Enter video dialogue"
24- />
25- <b-form-invalid-feedback :state =" dialogueState" >
26- Every video has to have dialogue.... even if it's just
27- <code >SCREAMING</code >
28- </b-form-invalid-feedback >
29- </b-form-group >
30- <b-form-group label =" Video Characters:" label-cols-sm =" 3" label-for =" input" >
31- <b-form-input v-model =" upload.characters" :state =" characterState" placeholder =" Enter video characters" />
32- <b-form-invalid-feedback :state =" titleState" >You must give this video characters</b-form-invalid-feedback >
33- </b-form-group >
34- </form >
35- <b-form-group label =" Video File" label-cols-sm =" 3" label-for =" input" >
36- <label for = " file" >Choose file to upload</label >
37- <input type =" file" @change =" processFile($event)"
38- name =" avatar" accept =" .ogg" >
39- </b-form-group >
47+ </div >
4048 <template #modal-footer >
4149 <div >
4250 <b-btn type =" reset" @click =" reset" variant =" outline-danger" >Reset</b-btn >
@@ -58,7 +66,8 @@ export default {
5866 characters: ' ' ,
5967 encodedVideo: ' '
6068 },
61- failedValidation: false
69+ failedValidation: false ,
70+ submitting: false
6271 }
6372 },
6473 computed: {
@@ -93,23 +102,25 @@ export default {
93102 }
94103 reader .readAsDataURL (data)
95104 },
96- submit (event ) {
105+ async submit (event ) {
97106 this .upload .encodedVideo = globalEncodedVideo
98107 if (this .upload .title === ' ' || this .upload .dialogue === ' ' || this .upload .characters === ' ' || this .upload .encodedVideo === ' ' ) {
99108 this .failedValidation = true
100109 return
101110 }
111+ this .submitting = true
102112 var videoBody = {
103113 name: this .upload .title ,
104114 dialogue: this .upload .dialogue ,
105115 characters: this .upload .characters .split (' ,' ),
106116 video: this .upload .encodedVideo
107117 }
108118 console .log (videoBody)
109- console .log (api .createVideo (videoBody))
110- api .getVideos ()
111- this .$bvModal .hide (' Upload' )
112- // event.target.hide()
119+ await api .createVideo (videoBody)
120+ await api .getVideos ()
121+ this .submitting = false
122+ this .$emit (' reloadVideos' )
123+ this .$bvModal .hide (' upload' )
113124 },
114125 reset () {
115126 this .upload = {
0 commit comments