Add delete report functionality
This commit is contained in:
		
							parent
							
								
									639fdcec8b
								
							
						
					
					
						commit
						3e058ac604
					
				
					 2 changed files with 46 additions and 1 deletions
				
			
		|  | @ -74,7 +74,7 @@ | |||
|                 <div class="modal-body"> | ||||
|                 </div> | ||||
|                 <div class="modal-footer"> | ||||
|                     <button type="button" class="btn btn-danger">Delete Report</button> | ||||
|                     <button type="button" class="btn btn-danger delete-report">Delete Report</button> | ||||
|                     <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> | ||||
|                     <button type="button" class="btn btn-primary">Submit Report</button> | ||||
|                 </div> | ||||
|  |  | |||
|  | @ -3,6 +3,37 @@ function getEndpointDomain() { | |||
|     return "https://" + window.location.hostname + ":8444/"; | ||||
| } | ||||
| 
 | ||||
| function removeDataFromEndpoint(url) { | ||||
|     const token = localStorage.getItem("token"); | ||||
|     const xhr = new XMLHttpRequest(); | ||||
| 
 | ||||
|     console.log("Attempting a connection to the following endpoint: " + url); | ||||
| 
 | ||||
| 
 | ||||
|     xhr.open("DELETE", url, true); | ||||
|     xhr.setRequestHeader("Authorization", "Bearer " + token); | ||||
|     xhr.onreadystatechange = function() { | ||||
|         if (this.readyState === 4) { | ||||
|             if (this.status === 200) { | ||||
|                 console.log("DELETE SUCCESS!"); | ||||
|                 console.log("Server response:\n" + this.response); | ||||
|                 alert("Report deleted"); | ||||
|                 location.reload(true); | ||||
|             } else { | ||||
|                 console.error("DELETE FAILURE!"); | ||||
|                 console.error("Server status: " + this.status); | ||||
|                 console.error("Server response:\n" + this.response); | ||||
|             } | ||||
|         } | ||||
|     }; | ||||
| 
 | ||||
|     xhr.onerror = function() { | ||||
|         alert("Connection error!"); | ||||
|     }; | ||||
| 
 | ||||
|     xhr.send(); | ||||
| } | ||||
| 
 | ||||
| // Make a GET request to url and pass response to callback function
 | ||||
| function getDataFromEndpoint(url, callback) { | ||||
|     const token = localStorage.getItem("token"); | ||||
|  | @ -334,6 +365,10 @@ document.addEventListener("click", function(event) { | |||
|     if (event.target && event.target.classList.contains("edit-report-button")) { | ||||
|         console.log("Edit button clicked"); | ||||
|         const url = getEndpointDomain() + "api/v1/report/" + event.target.dataset.rid; | ||||
|         const deleteButton = document.querySelector(".delete-report"); | ||||
|         if (deleteButton) { | ||||
|             deleteButton.setAttribute("data-rid", event.target.dataset.rid); | ||||
|         } | ||||
|         getDataFromEndpoint(url, createEditReportForm); | ||||
|     } | ||||
|     if(event.target && event.target.classList.contains("view-report-button")) | ||||
|  | @ -343,4 +378,14 @@ document.addEventListener("click", function(event) { | |||
|         getDataFromEndpoint(url, displayReport); | ||||
|     } | ||||
|     // TODO: Add View Report
 | ||||
| 
 | ||||
|     if(event.target && event.target.classList.contains("delete-report")) { | ||||
|         event.preventDefault(); | ||||
|         console.log("Delete report button clicked"); | ||||
|         const result = confirm("Are you sure you want to delete this report?"); | ||||
|         if (result) { | ||||
|             const url = getEndpointDomain() + "api/v1/report/" + event.target.dataset.rid; | ||||
|             removeDataFromEndpoint(url); | ||||
|         } | ||||
|     } | ||||
| }); | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Preston Doman
						Preston Doman