Notification.requestPermission(); $.get("/api/cwd").done(cwd => { $("#cwd").append(cwd[0]); }).fail(e => notifyFail(e)); document.body.onkeydown = function (event) { if (event.keyCode == 27) hidePopup(); }; $("#create-project")[0].disabled = false; let dependencies = []; function getFlags() { return "readme/" + $("#readme-flag")[0].checked + " dotty/" + $("#dotty-flag")[0].checked + " uberJar/" + $("#uberJar-flag")[0].checked + " wartremover/" + $("#wartremover-flag")[0].checked; } function createProject() { let button = $("#create-project")[0]; let buttonText = button.innerHTML; button.innerHTML = "..."; button.blur(); button.disabled = true; $.post("/api/project", { name: $("#name").val(), pack: $("#package").val(), dependencies: dependencies.length == 0 ? "" : dependencies.map(l => l.group + "/" + l.artifact + "/" + l.version).reduce((a, b) => a + " " + b), flags: getFlags() }).done(() => { notify("Done."); }).fail(e => notifyFail(e) ).always(() => { button.innerHTML = buttonText; button.disabled = false; }); } function handleSearchInput(event) { if (event.keyCode == 13) search(); } function search() { let query = $("#query").val(); if (query) { $.get("/api/dependency", { query: query }).done(data => { let entries = data.response.docs.map(x => ({ group: x.g, artifact: x.a })); showPopup(makeRowsFrom(entries, selectDependency)); }).fail(e => notifyFail(e)); document.activeElement.blur(); } } function selectDependency(selected) { $.get("/api/dependency/version", { group: selected.group, artifact: selected.artifact }).done(data => { let versions = data.response.docs.map(x => ({ version: x.v })); $("#popup-table").html(makeRowsFrom(versions, function (version) { selectDependencyVersion(selected.group, selected.artifact, version.version); })); }).fail(e => notifyFail(e)); } function selectDependencyVersion(group, artifact, version) { let dependency = { group: group, artifact: artifact, version: version }; dependencies.push(dependency); let scalaName = artifact.match(/^(.+)_\d+\.\d+$/); let name = scalaName && scalaName[1] ? scalaName[1] : artifact; var depDiv = $("