summaryrefslogtreecommitdiff
path: root/modules/local_import/js/local_import.js
diff options
context:
space:
mode:
Diffstat (limited to 'modules/local_import/js/local_import.js')
-rw-r--r--modules/local_import/js/local_import.js60
1 files changed, 60 insertions, 0 deletions
diff --git a/modules/local_import/js/local_import.js b/modules/local_import/js/local_import.js
new file mode 100644
index 00000000..8118e20d
--- /dev/null
+++ b/modules/local_import/js/local_import.js
@@ -0,0 +1,60 @@
+function open_close_branch(icon, event) {
+ var parent = icon.parentNode;
+ //var label = $(parent).find("label");
+ var children = $(parent).find(".gCheckboxTree");
+ var closed = $(icon).hasClass("ui-icon-plus");
+
+ if (closed) {
+ if (children.length == 0) {
+ load_children( $(icon).attr("ref"), function(data, textStatus) {
+ $(parent).append(data);
+ $(icon).addClass("ui-icon-minus");
+ $(icon).removeClass("ui-icon-plus");
+ var checkbox = $(parent).find(":checkbox")[0];
+ checkbox_click(checkbox, null);
+ });
+ } else {
+ $(icon).addClass("ui-icon-minus");
+ $(icon).removeClass("ui-icon-plus");
+ $(parent).children("ul").slideDown("fast");
+ }
+ } else {
+ $(icon).addClass("ui-icon-plus");
+ $(icon).removeClass("ui-icon-minus");
+ $(parent).children("ul").slideUp("fast");
+ }
+}
+
+function checkbox_click(checkbox, event) {
+ var parents = $(checkbox).parents("li");
+ var parent = parents.get(0);
+ $(parent).find(".gCheckboxTree :checkbox").attr("checked", checkbox.checked);
+ var checked = $("#gLocalImport .gFile :checkbox[checked]");
+ $("#gLocalImport form :submit").attr("disabled", checked.length == 0);
+}
+
+function load_children(path, callback) {
+ var csrf = $("#gLocalImport form :hidden[name='csrf']")[0].value;
+ var base_url = $("#gLocalImport form :hidden[name='base_url']")[0].value;
+ $.post(base_url + "local_import/children",
+ {csrf: csrf, path: path}, callback);
+}
+
+function do_import(submit, event) {
+ event.preventDefault();
+ $("#gImportProgress").progressbar('value', 0);
+ $("#gImportProgress").css("visibility", "visible");
+ var check_list = $("#gLocalImport .gFile :checkbox[checked]");
+ var current = 0;
+ var csrf = $("#gLocalImport form :hidden[name='csrf']")[0].value;
+ var url = $("#gLocalImport form").attr("action");
+ $.each(check_list, function () {
+ var path = $(this).val();
+ $.post(url, {csrf: csrf, path: path}, function(data, status) {
+ });
+ current++;
+ $("#gImportProgress").progressbar('value', current / check_list.length * 100);
+ });
+ document.location.reload();
+ return false;
+}