summaryrefslogtreecommitdiff
path: root/modules/local_import/js
diff options
context:
space:
mode:
Diffstat (limited to 'modules/local_import/js')
-rw-r--r--modules/local_import/js/local_import.js67
1 files changed, 67 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..3ad01ce8
--- /dev/null
+++ b/modules/local_import/js/local_import.js
@@ -0,0 +1,67 @@
+/**
+ * Set up autocomplete on the server path list
+ *
+ */
+$("document").ready(function() {
+ var previous_search = "";
+ $("#gLocalImportAdmin input").autocomplete({
+ url: base_url + "admin/local_import/autocomplete",
+ mustMatch: true,
+ });
+ ajaxify_form({
+ form: "#gLocalImportAdmin form",
+ url: "admin/local_import/",
+ returnCode: 200,
+ callback: function(xhr, statusText) {
+ $("#gImportLocalDirList").html(xhr.responseText);
+ setDroppable("#gImportLocalDirList #gRemoveDir");
+ setDraggable("#gImportLocalDirList li");
+ }
+ });
+
+ setDroppable("#gImportLocalDirList #gRemoveDir");
+ setDraggable("#gImportLocalDirList li");
+});
+
+function setDraggable(selector) {
+ $(selector).draggable({
+ helper: 'clone',
+// containment: "#gImportLocalDirList",
+ opacity: .6,
+ revert: "invalid"
+ });
+}
+
+function setDroppable(selector) {
+ $(selector).droppable({
+ accept: "#gImportLocalDirList li",
+ drop: function(ev, ui) {
+ var element = ui.draggable[0];
+
+ if (confirm("Do you really want to remove " + element.textContent)) {
+ $.ajax({
+ data: "path=" + element.textContent,
+ url: base_url + "admin/local_import/remove",
+ success: function(data, textStatus) {
+ $("#gImportLocalDirList").html(data);
+ setDroppable("#gImportLocalDirList #gRemoveDir");
+ setDraggable("#gImportLocalDirList li");
+ },
+ error: function(xhr, textStatus, errorThrown) {
+ alert("Text Status: " + textStatus + " Http Error Code: " + xhr.status);
+ },
+ type: "POST"
+ });
+ }
+ }
+ });
+}
+
+function ajaxify_form(options) {
+ $(options.form).ajaxForm({
+ complete:function(xhr, statusText) {
+ options.callback(xhr, statusText);
+ $(options.form).clearForm();
+ }
+ });
+}