summaryrefslogtreecommitdiff
path: root/modules/developer/js/developer.js
diff options
context:
space:
mode:
Diffstat (limited to 'modules/developer/js/developer.js')
-rw-r--r--modules/developer/js/developer.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/modules/developer/js/developer.js b/modules/developer/js/developer.js
new file mode 100644
index 0000000..065a731
--- /dev/null
+++ b/modules/developer/js/developer.js
@@ -0,0 +1,42 @@
+var module_success = function(data) {
+ $("#g-developer-admin").append('<div id="g-module-progress" style="margin-top: 1em;"></div>');
+ $("#g-module-progress").progressbar();
+
+ var task = data.task;
+ var url = data.url;
+ var done = false;
+ var counter = 0;
+ var max_iterations = data.max_iterations;
+ while (!done) {
+ $.ajax({async: false,
+ success: function(data, textStatus) {
+ $("#g-module-progress").progressbar("value", data.task.percent_complete);
+ done = data.task.done;
+ },
+ error: function(XMLHttpRequest, textStatus, errorThrown) {
+ done = true;
+ },
+ dataType: "json",
+ type: "POST",
+ url: url
+ });
+ // Leave this in as insurance that we never run away
+ done = done || ++counter > max_iterations;
+ }
+ document.location.reload();
+};
+
+function ajaxify_developer_form(selector, success) {
+ $(selector).ajaxForm({
+ dataType: "json",
+ success: function(data) {
+ if (data.form && data.result != "started") {
+ $(selector).replaceWith(data.form);
+ ajaxify_developer_form(selector, success);
+ }
+ if (data.result == "started") {
+ success(data);
+ }
+ }
+ });
+}