Co-authored-by: Artur Kołecki <koleckiartur@icloud.com> Reviewed-on: R11/release11-tools-web#106
		
			
				
	
	
		
			72 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| function formatAndValidateJson(errorElement) {
 | |
|   const input = document.querySelector('#jsonBlock');
 | |
|   const processInfo = document.getElementById(errorElement);
 | |
| 
 | |
|   const address = window.location.protocol + "//" + window.location.hostname + ":" + 8081 + "/json/formatting"
 | |
| 
 | |
|   fetch(address, {
 | |
|     method: 'POST',
 | |
|     body: input.textContent
 | |
|   })
 | |
|   .then(async (response) => {
 | |
|     const promise = response.json();
 | |
|     if (!response.ok) {
 | |
|       throw Error(await promise);
 | |
|     }
 | |
| 
 | |
|     return promise;
 | |
|   })
 | |
|   .then((data) => {
 | |
|     input.innerText = data.data;
 | |
|     processInfo.innerText = "";
 | |
|     hljs.highlightElement(input);
 | |
| 
 | |
|     processInfo.innerHTML = "<b style='color: green'>Computed in </b> <span style='color: green'>" + data.time + "ms</span>";
 | |
|   })
 | |
|   .catch((error) => {
 | |
|     processInfo.innerHTML = "<b style='color: red'>" + error.data + "</b>";
 | |
|     console.error('Error:', error);
 | |
|   });
 | |
| }
 | |
| 
 | |
| function minimizeJson(errorElement) {
 | |
|   const input = document.querySelector('#jsonBlock');
 | |
|   const processInfo = document.getElementById(errorElement);
 | |
| 
 | |
|   const address = window.location.protocol + "//" + window.location.hostname + ":" + 8081 + "/json/minimize"
 | |
| 
 | |
|   fetch(address, {
 | |
|     method: 'POST',
 | |
|     body: input.textContent
 | |
|   })
 | |
|   .then(async (response) => {
 | |
|     const promise = response.json();
 | |
|     if (!response.ok) {
 | |
|       throw Error(await promise);
 | |
|     }
 | |
| 
 | |
|     return promise;
 | |
|   })
 | |
|   .then((data) => {
 | |
|     input.innerText = data.data;
 | |
|     processInfo.innerText = "";
 | |
|     hljs.highlightElement(input);
 | |
| 
 | |
|     processInfo.innerHTML = "<b style='color: green'>Computed in </b> <span style='color: green'>" + data.time + "ms</span>";
 | |
|   })
 | |
|   .catch((error) => {
 | |
|     processInfo.innerHTML = "<b style='color: red'>" + error.data + "</b>";
 | |
|     console.error('Error:', error);
 | |
|   });
 | |
| }
 | |
| 
 | |
| function clearJsonData() {
 | |
|   const input = document.querySelector('#jsonBlock');
 | |
|   input.textContent = "";
 | |
| }
 | |
| 
 | |
| function insertDefaultJson() {
 | |
|   const input = document.querySelector('#jsonBlock');
 | |
|   input.textContent = "{\"enter\": \"your\", \"json\": \"here\"}";
 | |
|   hljs.highlightElement(input);
 | |
| } |