From 4d7c0d6acd99281cbb6b4e3ec23ccb53589c2bbb Mon Sep 17 00:00:00 2001 From: Artur Kolecki Date: Tue, 28 Feb 2023 12:51:11 +0100 Subject: [PATCH] Created json formatter and validator. (#82) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: mikolaj widla Co-authored-by: Adam Bem Co-authored-by: Adam Bem Co-authored-by: Artur KoĊ‚ecki Reviewed-on: https://gitea.release11.com/R11/release11-tools-web/pulls/82 --- Frontend/assets/css/json.css | 4 ++ Frontend/assets/scripts/tools/json.js | 29 ++++++++++ Frontend/assets/scripts/tools/scripts.js | 4 ++ Frontend/index.html | 3 +- Frontend/tools/jsonFormatter.html | 53 +++++++++++++++++++ .../{formatter.html => xmlFormatter.html} | 0 6 files changed, 92 insertions(+), 1 deletion(-) create mode 100644 Frontend/assets/css/json.css create mode 100644 Frontend/assets/scripts/tools/json.js create mode 100644 Frontend/tools/jsonFormatter.html rename Frontend/tools/{formatter.html => xmlFormatter.html} (100%) diff --git a/Frontend/assets/css/json.css b/Frontend/assets/css/json.css new file mode 100644 index 0000000..46c6686 --- /dev/null +++ b/Frontend/assets/css/json.css @@ -0,0 +1,4 @@ +.json-block { + height: 600px; + width: 100%; +} \ No newline at end of file diff --git a/Frontend/assets/scripts/tools/json.js b/Frontend/assets/scripts/tools/json.js new file mode 100644 index 0000000..5528adc --- /dev/null +++ b/Frontend/assets/scripts/tools/json.js @@ -0,0 +1,29 @@ +function formatAndValidateJson(errorElement) { + const input = document.querySelector('#jsonBlock'); + const errorOutput = document.getElementById(errorElement); + + try { + const obj = JSON.parse(input.textContent); + input.innerHTML = JSON.stringify(obj, null, 2); + errorOutput.innerText = ""; + hljs.highlightElement(input); + } catch (error) { + errorOutput.innerText = error; + console.error("Error: ", error) + } +} + +function minimizeJson(errorElement) { + const input = document.querySelector('#jsonBlock'); + const errorOutput = document.getElementById(errorElement); + + try { + const obj = JSON.parse(input.textContent); + input.innerHTML = JSON.stringify(obj); + errorOutput.innerText = ""; + hljs.highlightElement(input); + } catch (error) { + errorOutput.innerText = error; + console.error("Error: ", error) + } +} \ No newline at end of file diff --git a/Frontend/assets/scripts/tools/scripts.js b/Frontend/assets/scripts/tools/scripts.js index d464330..5b715bc 100644 --- a/Frontend/assets/scripts/tools/scripts.js +++ b/Frontend/assets/scripts/tools/scripts.js @@ -43,6 +43,10 @@ function setDefaultContent(element, text) { element.style.color = color_grey; element.value = text; } + if (id == "jsonArea") { + element.style.color = color_grey; + element.value = text; + } } } diff --git a/Frontend/index.html b/Frontend/index.html index bcee87d..f571ce3 100644 --- a/Frontend/index.html +++ b/Frontend/index.html @@ -25,7 +25,8 @@
  • XPath
  • XSLT
  • XSD
  • -
  • Formatter
  • +
  • XML Formatter
  • +
  • JSON Formatter