mirror of https://github.com/docusealco/docuseal
				
				
				
			
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							71 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							71 lines
						
					
					
						
							1.5 KiB
						
					
					
				| <template>
 | |
|   <div>
 | |
|     <p>
 | |
|       Form completed - thanks!
 | |
|     </p>
 | |
|     <button @click.prevent="sendCopyToEmail">
 | |
|       <span v-if="isSendingCopy">
 | |
|         Sending
 | |
|       </span>
 | |
|       <span>
 | |
|         Send copy to email
 | |
|       </span>
 | |
|     </button>
 | |
|     <button @click.prevent="download">
 | |
|       <span v-if="isDownloading">
 | |
|         Downloading
 | |
|       </span>
 | |
|       <span>
 | |
|         Download copy
 | |
|       </span>
 | |
|     </button>
 | |
|   </div>
 | |
| </template>
 | |
| 
 | |
| <script>
 | |
| export default {
 | |
|   name: 'FormCompleted',
 | |
|   props: {
 | |
|     submissionSlug: {
 | |
|       type: String,
 | |
|       required: true
 | |
|     }
 | |
|   },
 | |
|   data () {
 | |
|     return {
 | |
|       isSendingCopy: false,
 | |
|       isDownloading: false
 | |
|     }
 | |
|   },
 | |
|   methods: {
 | |
|     sendCopyToEmail () {
 | |
|       this.isSendingCopy = true
 | |
| 
 | |
|       fetch(`/send_submission_email.json?submission_slug=${this.submissionSlug}`, {
 | |
|         method: 'POST'
 | |
|       }).finally(() => {
 | |
|         this.isSendingCopy = false
 | |
|       })
 | |
|     },
 | |
|     download () {
 | |
|       this.isDownloading = true
 | |
| 
 | |
|       fetch(`/submissions/${this.submissionSlug}/download`).then(async (response) => {
 | |
|         const blob = new Blob([await response.text()], { type: `${response.headers.get('content-type')};charset=utf-8;` })
 | |
|         const url = URL.createObjectURL(blob)
 | |
|         const link = document.createElement('a')
 | |
| 
 | |
|         link.href = url
 | |
|         link.setAttribute('download', response.headers.get('content-disposition').split('"')[1])
 | |
| 
 | |
|         link.click()
 | |
| 
 | |
|         URL.revokeObjectURL(url)
 | |
|       }).finally(() => {
 | |
|         this.isDownloading = false
 | |
|       })
 | |
|     }
 | |
|   }
 | |
| }
 | |
| </script>
 |