UNPKG

lx-scan

Version:

License eXtension to find 5-tuples of all installed packages: name, version, project home page, license (e. g. Apache v2, BSD) and required notice. It includes a GUI to edit information for each package and to enter information if necessary.

148 lines (121 loc) 4.06 kB
(function (obj) { obj.indexJS = function(params) { // This is set up for allowing the file browser button some proper styling $(document).on('change', '.btn-file :file', function() { var input = $(this), numFiles = input.get(0).files ? input.get(0).files.length : 1, label = input.val().replace(/\\/g, '/').replace(/.*\//, ''); input.trigger('fileselect', [numFiles, label]); }); $(document).ready( function () { $(".btn-file :file").on("fileselect", function (event,numFiles,label) { document.getElementById("filetext").value = label; }); }); var htmlmatch = /^(https?:)?\/?\/?([^\/.]*[.\/])+([^\/.]*)?$/; var linkclick; obj.showbox = function(event,id,note,num) { if(!window.debug) { if(event.target.tagName==="A") return; } var lightbox = document.getElementById("lightbox"), notice = document.getElementById("notice"), lnumber = document.getElementById("lnumber"); notice.value = "Click to modify"; // Initialize the license number box while (lnumber.firstChild) { lnumber.removeChild(lnumber.firstChild); } var option; var text; for(var i=0;i<num;i++) { option = document.createElement("option"); option.value = i; text = document.createTextNode(i+1); option.appendChild(text); lnumber.appendChild(option); } document.getElementById("entry").value = id; notice.onfocus = function() { notice.value = note[lnumber.value]; }; var dialog = document.getElementById("dialog"); dialog.action = "/upload/" + "#" + id; var change = document.getElementById("change"); change.style.display = 'none'; change.value = ""; document.getElementById("home").value = ""; var jfile = document.getElementById("jfile"); jfile.value = params.jfile; var path = document.getElementById("path"); path.value = params.path; $("#lightbox").modal("show"); return false; }; obj.singletoggle = function(id) { var div = document.getElementById(id); if (div.style.display !== "none") { div.style.display = "none"; } else { div.style.display = "block"; } }; obj.toggle = function() { singletoggle("filediv"); singletoggle("newlinkdiv"); document.getElementById("newlink").value = ""; }; window.onresize = function () { var dimmer = document.getElementById("dimmer"); if(dimmer) { dimmer.style.width = document.body.offsetWidth + 20 + "px"; dimmer.style.height = document.body.offsetHeight + 20 + "px"; } }; // for testing purposes; window.onload = function () { if(errortext) { params.errortext.forEach(function(item) { alert(item); }); } } obj.checkpath = function(form) { var newlink = document.getElementById("newlink"); var home = document.getElementById("home"); if(newlink.value !== "" && !htmlmatch.test(newlink.value)) { alert("New license path must be a URL, path, or empty."); return false; } if(home.value !== "" && !htmlmatch.test(home.value)) { alert("New home page must be a URL."); return false; } return true; }; obj.subform = function() { var form = document.getElementById("open"); var ofile = document.getElementById("ofile"); document.getElementById("ojfile").value = params.jfile; form.submit(); }; obj.subform2 = function() { var form = document.getElementById("dialog"); form.submit(); } obj.togglemlink = function() { var mlink = document.getElementById("menulink"); var menu = document.getElementById("menu"); if(mlink.style.background === menu.style.background) { mlink.style.background = "#00B299"; } else { mlink.style.background = menu.style.background; } }; obj.toggleOtherBox = function () { var type = document.getElementById("type"); var change = document.getElementById("change"); change.style.display = type.value !== "oth" ? "none" : "inline-block"; } } })(this);