UNPKG

json-object-editor

Version:

JOE the Json Object Editor | Platform Edition

84 lines (69 loc) 2.63 kB
/* JavaScript include for: Json Object Editor last updated: Rewritten by CH + ChatGPT (April 2025) */ (function() { var ieNavigator = false; var agent = window.navigator.userAgent; if (agent.indexOf('Trident') !== -1 || agent.indexOf('MSIE') !== -1 || agent.indexOf('Edge') !== -1) { ieNavigator = true; } var projectName = 'JsonObjectEditor'; var web_dir = window.web_dir || ('//' + location.hostname + ':' + (location.port || ((location.protocol === "https:") ? 443 : 80)) + "/" + projectName + '/'); if (location && location.origin === 'file://') { web_dir = location.href.slice(0, location.href.lastIndexOf('/') + 1); } var joe_web_dir = web_dir; var scripts_dir = web_dir + "js/"; var styles_dir = web_dir + "css/"; var scripts = []; var styles = ["joe.css"]; if (typeof jQuery === 'undefined') { scripts.push("libs/jquery-1.11.3.min.js"); scripts.push("libs/jquery-ui.min.js"); } else if (typeof jQuery().resizable === 'undefined') { scripts.push("libs/jquery-ui.min.js"); } scripts.push("libs/jquery.ui.touch-punch.min.js"); if (typeof Craydent === 'undefined' || (!Craydent.VERSION || Craydent.VERSION < '1.7.37')) { scripts.push("libs/craydent-1.9.2.min.js"); } if (ieNavigator) { scripts.push( "libs/moment.min.js", "joe_es5.js", "plugins/tinymce.min.js", "ace/ace.js" ); } else { scripts.push( "libs/moment.min.js", "joe.js", "plugins/tinymce.min.js", "ace/ace.js" ); } // Load styles styles.forEach(function(style) { var link = document.createElement('link'); link.href = styles_dir + style; link.rel = 'stylesheet'; link.type = 'text/css'; document.head.appendChild(link); }); // Load scripts in order function loadScript(index) { if (index >= scripts.length) return; var script = document.createElement('script'); script.src = scripts_dir + scripts[index]; script.type = 'text/javascript'; script.onload = function() { loadScript(index + 1); }; script.onerror = function() { console.error("Failed to load script:", script.src); loadScript(index + 1); // Continue even if one fails }; document.head.appendChild(script); } loadScript(0); // start the script loading chain })();