diff options
Diffstat (limited to 'app/public/static/package_create.js')
-rw-r--r-- | app/public/static/package_create.js | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/app/public/static/package_create.js b/app/public/static/package_create.js new file mode 100644 index 0000000..2b992f5 --- /dev/null +++ b/app/public/static/package_create.js @@ -0,0 +1,51 @@ +// @author rubenwardy +// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-v3-or-Later + +$(function() { + function finish() { + $(".pkg_wiz_1").hide() + $(".pkg_wiz_2").hide() + $(".pkg_repo").show() + $(".pkg_meta").show() + } + + function repoIsSupported(url) { + try { + return URI(url).hostname() == "github.com" + } catch(e) { + return false + } + } + + $(".pkg_meta").hide() + $(".pkg_wiz_1").show() + $("#pkg_wiz_1_next").click(function() { + const repoURL = $("#repo").val(); + if (repoIsSupported(repoURL)) { + $(".pkg_wiz_1").hide() + $(".pkg_wiz_2").show() + $(".pkg_repo").hide() + + performTask("/tasks/getmeta/new/?url=" + encodeURI(repoURL)).then(function(result) { + $("#name").val(result.name || "") + $("#title").val(result.title || "") + $("#repo").val(result.repo || repoURL) + $("#issueTracker").val(result.issueTracker || "") + $("#desc").val(result.description || "") + $("#shortDesc").val(result.short_description || "") + if (result.forumId) { + $("#forums").val(result.forumId) + } + finish() + }).catch(function(e) { + alert(e) + $(".pkg_wiz_1").show() + $(".pkg_wiz_2").hide() + $(".pkg_repo").show() + // finish() + }) + } else { + finish() + } + }) +}) |