summaryrefslogtreecommitdiff
path: root/themes/admin_default/js/ui.init.js
blob: 84a1021a4a9a64230939c59072de80a23e0b9013 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
$(document).ready(function(){
  // Add Superfish menu class
  $("#gSiteAdminMenu ul.gMenu").addClass("sf-menu");
  $("ul.gMenu").addClass("sf-menu");

  // Superfish menu options
  $('ul.sf-menu').superfish({
    delay: 500,
    animation: {
      opacity: 'show',
      height: 'show'
    },
    pathClass: 'current',
    speed: 'fast'
  });

  // Apply modal dialogs
  var dialogLinks = $(".gDialogLink");
  for (var i=0; i < dialogLinks.length; i++) {
    $(dialogLinks[i]).bind("click", {element: dialogLinks[i]}, handleDialogEvent);
  }

  $("#gThemeDetailsForm").ajaxForm({
    dataType: "json",
    success: function(body, result, set) {
      if (body.result == "success") {
        $("#gMessage").append("<span class='gSuccess'>" + body.message + "</span>");
      } else {
        $("#gMessage").append("<span class='gError'>" + body.message + "</span>");
      }
    }
  });
	
	// Apply hide/show functionality on user admin view
  var panelLinks = $(".gPanelLink");
  for (i=0; i<panelLinks.length; i++) {
    $(panelLinks[i]).bind("click", {element: panelLinks[i]}, handlePanelEvent);
  }

	function handlePanelEvent(event) {
	  togglePanel(event.data.element);
	  event.preventDefault();
	}
	
	function togglePanel(element, on_success) {
    var parent = $(element).parent().parent();
    var sHref = $(element).attr("href");
    var ePanel = '<div class="gPanel"></div>';
    if ($(parent).children(".gPanel").length) {
      console.log("In here");
      $(parent).children(".gPanel").slideToggle("slow");
    } else {
      $(parent).append(ePanel);
      var panel = $(parent).children(".gPanel");
      $(panel).html(sHref);
      panel.show().slideDown("slow");
      $.get(sHref, function(data) {
        $(panel).html(data);
        ajaxify_panel = function() {
          $(".gPanel form").ajaxForm({
            dataType: "json",
            success: function(data) {
              if (data.form) {
                $(".gPanel form").replaceWith(data.form);
                ajaxify_panel();
              }
              if (data.result == "success") {
                if (on_success) {
                  on_success();
                } else if (data.location) {
                  window.location = data.location;
                } else {
                  window.location.reload();
                }
              }
            }
          });
        };
        ajaxify_panel();
      });
    }
		return false;
	}
	
	// Remove users from group functionality
});