mirror of
				https://github.com/StefBuwalda/ProjectIOT.git
				synced 2025-10-30 19:29:57 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			87 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| {%extends 'base.html' %}
 | |
| {% block content %}
 | |
| 
 | |
| <div class="col-md-9 ms-sm-auto col-lg-10 px-md-4">
 | |
|                 <div class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
 | |
|                     <h1 class="display-4 fw-bold" style="color: #313A4D;">Numberplate</h1>
 | |
|                 </div>
 | |
|             <div class="col-md-12">
 | |
|         <div class="card mb-4">
 | |
|     </div>
 | |
| </div>
 | |
| 
 | |
| <div class="col-md-12">
 | |
|     <div class="card mb-4">
 | |
|         <div class="card-body">
 | |
|             <h5 class="card-title fs-4">Add numberplate</h5>
 | |
|             <div class="log-container" style="max-height: 250px; overflow-y: auto;">
 | |
|                 <form method="POST" class="contact-form" id="numberplateForm">
 | |
|                     {{ form.hidden_tag() }}
 | |
|                     <div class="form-field">
 | |
|                         {{ form.numberplate(class="form-input",style="width: 200px; height: 40px;") }}
 | |
|                     </div>
 | |
|                     <div class="button-container" style="margin-top: 15px;">
 | |
|                         {{ form.submit(class="btn btn-sm btn-dark", style="width: 200px;") }}
 | |
|                     </div>
 | |
|                 </form>
 | |
|             </div>
 | |
|         </div>
 | |
|     </div>
 | |
| </div>
 | |
| 
 | |
| <div class="col-md-12">
 | |
|     <div class="card mb-4">
 | |
|         <div class="card-body">
 | |
|             <h5 class="card-title fs-4">Numberplates</h5>
 | |
|             <div class="log-container" style="max-height: 250px; overflow-y: auto;">
 | |
|                 <table class="table table-sm table-hover" id="numberplatesTable">
 | |
|                     <thead>
 | |
|                         <tr>
 | |
|                             <th scope="col" class="fs-5">ID</th> 
 | |
|                             <th scope="col" class="fs-5">Numberplate</th>
 | |
|                         </tr>
 | |
|                     </thead>
 | |
|                     <tbody id="numberplatesBody">
 | |
|                         {% for plate in plates %}
 | |
|                         <tr>
 | |
|                             <td><small class="fs-6">{{ plate.id }}</small></td>
 | |
|                             <td><small class="fs-6">{{ plate.plate }}</small></td>
 | |
|                         </tr>
 | |
|                         {% endfor %}
 | |
|                     </tbody>
 | |
|                 </table>
 | |
|             </div>
 | |
|         </div>
 | |
|     </div>
 | |
| </div>
 | |
| 
 | |
| <script>
 | |
| document.getElementById('numberplateForm').addEventListener('submit', async function(e) {
 | |
|     e.preventDefault();
 | |
|     const form = e.target;
 | |
|     const formData = new FormData(form);
 | |
| 
 | |
|     const response = await fetch(form.action || window.location.pathname, {
 | |
|         method: 'POST',
 | |
|         body: formData,
 | |
|         headers: {'X-Requested-With': 'XMLHttpRequest'}
 | |
|     });
 | |
| 
 | |
|     if (response.ok) {
 | |
|         const data = await response.json();
 | |
|         // Update the table body
 | |
|         const tbody = document.getElementById('numberplatesBody');
 | |
|         tbody.innerHTML = '';
 | |
|         data.plates.forEach(plate => {
 | |
|             tbody.innerHTML += `<tr>
 | |
|                 <td><small class="fs-6">${plate.id}</small></td>
 | |
|                 <td><small class="fs-6">${plate.plate}</small></td>
 | |
|             </tr>`;
 | |
|         });
 | |
|         form.reset();
 | |
|     } else {
 | |
|         alert('Failed to add numberplate.');
 | |
|     }
 | |
| });
 | |
| </script>
 | |
| {% endblock %} | 
