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.
|
|
document.addEventListener("DOMContentLoaded", function () { const svgFile = document.getElementById("fileInput"); // Event listener for file selection
svgFile.addEventListener("change", function (event) { const file = event.target.files[0]; if (file) { handleDotFileUpload(file); } });
const textFile = document.getElementById("prismModelInput");
textFile.addEventListener("change", function (event) { const file = event.target.files[0]; if (file) { handleCodeFileUpload(file); } }); const specs = document.getElementById("specificationsInput");
specs.addEventListener("change", function (event) { const file = event.target.files[0]; if (file) { handleSpecsFileUpload(file); } });
// Function to handle file upload for editor
function handleCodeFileUpload(file) { const reader = new FileReader();
reader.onload = function (event) { const fileContents = event.target.result; editor.setValue(fileContents); };
reader.onerror = function (event) { console.error("Error reading file:", event); };
// Read the file as text
reader.readAsText(file); } // Function to handle file upload for specs
function handleSpecsFileUpload(file) { const reader = new FileReader();
reader.onload = function (event) { const fileContents = event.target.result; editor2.setValue(fileContents); };
reader.onerror = function (event) { console.error("Error reading file:", event); };
// Read the file as text
reader.readAsText(file); }
// Function to handle file upload for SVG
function handleDotFileUpload(file) { const reader = new FileReader();
reader.onload = function (event) { const fileContents = event.target.result; Viz.instance().then(function (viz) { var svg = viz.renderSVGElement(fileContents); graphFunction(svg); updateTextarea(getActiveTabContent()); }); };
reader.onerror = function (event) { console.error("Error reading file:", event); };
// Read the file as text
reader.readAsText(file); }
// Function for converting input to text format and automatically downloading the content
(function () { // Declare a variable for the text file URL
var textFile = null;
// Function to create the text file and return its URL
var makeTextFile = function (text) { // Create a Blob from the text
var data = new Blob([text], { type: "text/plain" });
// Revoke any previous object URL to avoid memory leaks
if (textFile !== null) { window.URL.revokeObjectURL(textFile); }
// Create a new object URL for the Blob and return it
textFile = window.URL.createObjectURL(data); return textFile; };
var downloadEditorText = document.getElementById("downloadFirstEditor"); var downloadSpecifications = document.getElementById("downloadSpecifications");
var input1 = editor; var input2 = editor2;
// Add an event listener to the button for the click event
downloadEditorText.addEventListener("click", function () { // Check if the editor is empty
if (!editor.getValue()) { Toastify({ text: "Editor field empty", duration: 3000, close: true, gravity: "top", }).showToast(); } else { // Create the text file URL from the input editor value
var fileURL = makeTextFile(input1.getValue());
// Create a temporary link element
var tempLink = document.createElement("a");
tempLink.setAttribute("download", "prism.txt");
// Set the link's href attribute to the file URL
tempLink.href = fileURL;
// Append the link to the document body (required for the click event to work in some browsers)
document.body.appendChild(tempLink);
tempLink.click();
// Remove the link from the document body after the download
document.body.removeChild(tempLink); } });
downloadSpecifications.addEventListener("click", function () { if (!editor2.getValue()) { Toastify({ text: "Specifications field empty", duration: 3000, close: true, gravity: "top", }).showToast(); } else { var fileURL = makeTextFile(input2.getValue());
var tempLink = document.createElement("a");
tempLink.setAttribute("download", "specifications.txt");
tempLink.href = fileURL;
document.body.appendChild(tempLink);
tempLink.click();
document.body.removeChild(tempLink); } }); })(); });
|