From ddc4ea6e1fca688a022384a2130616e503484279 Mon Sep 17 00:00:00 2001 From: Terrence Ryan Date: Fri, 21 Sep 2012 12:29:17 -0400 Subject: [PATCH] Got Delete App working --- main.js | 36 ++++++++++++++++++++++++++++++++++-- nls/root/strings.js | 4 +++- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/main.js b/main.js index 9932358..228f8f7 100644 --- a/main.js +++ b/main.js @@ -166,6 +166,16 @@ define(function (require, exports, module) { zipProject(id); } + function deleteApp(id) { + var id = pendingDelete; + console.log("Delete has been called"); + var xhr = new XMLHttpRequest(); + xhr.open("DELETE", "https://build.phonegap.com/api/v1/apps/" + id + "?auth_token=" + token, true); + xhr.setRequestHeader("Cache-Control", "no-cache"); + xhr.addEventListener("load", function() {eve("pgb.list"); pendingDelete = null;}, false); + xhr.send(); + } + function createZipFile(zip, id) { var zipfile = zip.generate({"base64":false}); var byteArray = new Uint8Array(zipfile.length); @@ -242,6 +252,7 @@ define(function (require, exports, module) { panelOpened, token, linkedProjectId, + pendingDelete, platforms = ["ios", "android", "winphone", "blackberry", "webos", "symbian"]; function ajax(url, name, type, username, password, showProgress) { @@ -391,7 +402,8 @@ define(function (require, exports, module) { row += ''; }); row += ''; - row += '' + Strings.REBUILD_LINK + ''; + row += '' + Strings.REBUILD_LINK + ''; + row += '' + Strings.DELETE_LINK + ''; html += format(row, app); } html += ""; @@ -425,6 +437,7 @@ define(function (require, exports, module) { }); eve.on("pgb.click", function (e) { + console.log("click fired.") var span = e.target; if (!String(span.id).indexOf("pgb-app")) { var data = $(span).attr("data-download"); @@ -459,9 +472,14 @@ define(function (require, exports, module) { }); }); } - if (span.className == "pgb-rebuild") { + console.log(span.className); + if (span.className.indexOf("pgb-rebuild") > -1) { eve("pgb.rebuild", null, span.getAttribute("data-id")); } + + if (span.className.indexOf("pgb-delete") > -1) { + eve("pgb.delete", null, span.getAttribute("data-id")); + } }); eve.on("pgb.success.projectinfo", function (json) { console.warn(2, json); @@ -469,6 +487,14 @@ define(function (require, exports, module) { eve.on("pgb.rebuild", function (id) { toggleRebuildLabels(id); ajax("api/v1/apps/" + id, "rebuild", "put", null, null, false); + }); + eve.on("pgb.delete", function (id) { + console.log("delete fired."); + pendingDelete = id; + showAlert(Strings.DELETE_CONFIRMATION_MESSAGE, true, "delete", false); + + + }); eve.on("pgb.error.rebuild", function (error) { console.log("pgb.error.rebuild", error); @@ -523,6 +549,12 @@ define(function (require, exports, module) { }); eve.on("pgb.alert.bundle.cancel", function() { // NO-OP + }); + eve.on("pgb.alert.delete.ok", function(id) { + deleteApp(id); + }); + eve.on("pgb.alert.delete.cancel", function() { + // NO-OP }); eve.on("pgb.success.status", function(json) { var finished = true, diff --git a/nls/root/strings.js b/nls/root/strings.js index dfe1f3f..262cb58 100644 --- a/nls/root/strings.js +++ b/nls/root/strings.js @@ -50,5 +50,7 @@ define({ "NEW_DIALOG_TITLE" : "New PhoneGap Build Project", "NEW_DIALOG_MESSAGE" : "Create a new PhoneGap Build project based on the current folder.", "NEW_DIALOG_APP_NAME" : "App Name", - "NEW_ALERT_MESSAGE" : "Created a new PhoneGap Build project named" + "NEW_ALERT_MESSAGE" : "Created a new PhoneGap Build project named", + "DELETE_LINK" : "Delete", + "DELETE_CONFIRMATION_MESSAGE" : "Are you sure you want to delete this project?" }); \ No newline at end of file