diff options
author | Chad Kieffer <chad@2tbsp.com> | 2009-05-26 03:59:35 +0000 |
---|---|---|
committer | Chad Kieffer <chad@2tbsp.com> | 2009-05-26 03:59:35 +0000 |
commit | 88e1f02c1a250dae7b8dabeeaf9f6209f4c84942 (patch) | |
tree | 810150dedf2aa0bbc273942959202f8c3621bf07 /themes/admin_default/js/ui.init.js | |
parent | 916405bc4b572ded4b60a2a2eaececb8402dba0a (diff) |
Split out re-used JavaScript for common functions (messages, valign), panel toggle, and forms to external files.
Diffstat (limited to 'themes/admin_default/js/ui.init.js')
-rw-r--r-- | themes/admin_default/js/ui.init.js | 113 |
1 files changed, 12 insertions, 101 deletions
diff --git a/themes/admin_default/js/ui.init.js b/themes/admin_default/js/ui.init.js index 441a7d65..3f062a27 100644 --- a/themes/admin_default/js/ui.init.js +++ b/themes/admin_default/js/ui.init.js @@ -1,9 +1,8 @@ $(document).ready(function(){ - // Add Superfish menu class + + // Initialize Superfish menus $("#gSiteAdminMenu ul.gMenu").addClass("sf-menu"); $("ul.gMenu").addClass("sf-menu"); - - // Superfish menu options $("ul.sf-menu").superfish({ delay: 500, animation: { @@ -15,20 +14,26 @@ $(document).ready(function(){ }); $("#gSiteAdminMenu").css("display", "block"); - // Apply modal dialogs + // Initialize status message effects + $("#gMessage li").showMessage(); + + // Initialize modal dialogs var dialogLinks = $(".gDialogLink"); for (var i=0; i < dialogLinks.length; i++) { $(dialogLinks[i]).bind("click", handleDialogEvent); } + // Initialize panels + var panelLinks = $(".gPanelLink"); + for (i=0; i<panelLinks.length; i++) { + $(panelLinks[i]).bind("click", handlePanelEvent); + } + if ($("#gPhotoStream").length) { // Vertically align thumbs in photostream $(".gItem").vAlign(); } - // Apply status message effect - $("#gMessage li").showMessage(); - // Apply jQuery UI button css to submit inputs $("input[type=submit]:not(.gShortForm input)").addClass("ui-state-default ui-corner-all"); @@ -41,12 +46,6 @@ $(document).ready(function(){ $("#gAdminCommentsMenu ul li:last a").addClass("ui-corner-right"); } - // Apply hide/show functionality on user admin view - var panelLinks = $(".gPanelLink"); - for (i=0; i<panelLinks.length; i++) { - $(panelLinks[i]).bind("click", handlePanelEvent); - } - // Round corners $(".gSelected").addClass("ui-corner-all"); $(".gAvailable .gBlock").addClass("ui-corner-all"); @@ -65,91 +64,3 @@ $(document).ready(function(){ } ); }); - -function handlePanelEvent(event) { - togglePanel(event.currentTarget); - event.preventDefault(); -} - -function togglePanel(element, on_success) { - var parent = $(element).parent().parent(); - var sHref = $(element).attr("href"); - var parentClass = $(parent).attr("class"); - var ePanel = "<tr id=\"gPanel\"><td colspan=\"6\"></td></tr>"; - - if ($("#gPanel").length) { - $("#gPanel").slideUp("slow"); - $("#gPanel *").remove(); - $("#gPanel").remove(); - if ($(element).attr("orig_text")) { - $(element).children(".gButtonText").text($(element).attr("orig_text")); - } - console.log("Removing existing #gPanel"); - //togglePanel(element, on_success); - } else { - console.log("Adding #gPanel"); - $(parent).after(ePanel); - //showLoading("#here"); - $("#gPanel td").html(sHref); - $("#gPanel").addClass(parentClass).show().slideDown("slow"); - $.get(sHref, function(data) { - $("#gPanel td").html(data); - ajaxify_panel = function() { - $("#gPanel td form").ajaxForm({ - dataType: "json", - success: function(data) { - if (data.form) { - $("#gPanel td 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(); - } - } - } - }); - if ($("#gPanel td").hasClass("gLoadingLarge")) { - showLoading("#gPanel td"); - } - }; - ajaxify_panel(); - if ($(element).attr("open_text")) { - $(element).attr("orig_text", $(element).children(".gButtonText").text()); - $(element).children(".gButtonText").text($(element).attr("open_text")); - } - }); - } - return false; -} - -// Vertically align a block element's content -(function () { - $.fn.vAlign = function(container) { - return this.each(function(i){ - if (container == null) { - container = "div"; - } - $(this).html("<" + container + ">" + $(this).html() + "</" + container + ">"); - var el = $(this).children(container + ":first"); - var elh = $(el).height(); - var ph = $(this).height(); - var nh = (ph - elh) / 2; - $(el).css("margin-top", nh); - }); - }; -})(jQuery); - -(function () { - $.fn.showMessage = function(message) { - return this.each(function(i){ - $(this).effect("highlight", {"color": "white"}, 3000); - $(this).animate({opacity: 1.0}, 6000); - $(this).fadeOut("slow"); - }); - }; -})(jQuery); |