summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2009-07-11 17:59:55 -0700
committerBharat Mediratta <bharat@menalto.com>2009-07-11 17:59:55 -0700
commit895fbfd95b5e7a42dd865f4a18401fd2e1491bc2 (patch)
tree203eca0d13e0464c8840b813b3ad3fc2b55de563
parentb4c279ebb453459a37550b6413a830bed6c74b17 (diff)
Get the thumbnail menu working.
1) Stop changing the menu classes in JS, instead allow us to specify it in the Menu class itself and then set it to be gThumbMenu in Theme_View 2) Move the gThumbMenu init code to the bottom of the $(document).ready() block; something in there was interfering with it.
-rw-r--r--modules/gallery/libraries/Menu.php9
-rw-r--r--modules/gallery/libraries/Theme_View.php11
-rw-r--r--themes/default/css/screen.css8
-rw-r--r--themes/default/js/ui.init.js47
4 files changed, 38 insertions, 37 deletions
diff --git a/modules/gallery/libraries/Menu.php b/modules/gallery/libraries/Menu.php
index 162cd3b0..a39b59a5 100644
--- a/modules/gallery/libraries/Menu.php
+++ b/modules/gallery/libraries/Menu.php
@@ -136,7 +136,9 @@ class Menu_Core extends Menu_Element {
return new Menu_Element_Dialog($type);
case "root":
- return new Menu("root");
+ $menu = new Menu("root");
+ $menu->css_class("gMenu");
+ return $menu;
case "submenu":
return new Menu("submenu");
@@ -156,6 +158,7 @@ class Menu_Core extends Menu_Element {
}
}
}
+ return $this;
}
public function __construct($type) {
@@ -206,8 +209,8 @@ class Menu_Core extends Menu_Element {
}
public function __toString() {
- $html = $this->is_root ? "<ul class=\"gMenu\">" :
- "<li title=\"$this->label\"><a href=\"#\">$this->label</a><ul class=\"gMenu\">";
+ $html = $this->is_root ? "<ul class=\"$this->css_class\">" :
+ "<li title=\"$this->label\"><a href=\"#\">$this->label</a><ul>";
$html .= implode("\n", $this->elements);
$html .= $this->is_root ? "</ul>" : "</ul></li>";
return $html;
diff --git a/modules/gallery/libraries/Theme_View.php b/modules/gallery/libraries/Theme_View.php
index 75138f25..fa45ec89 100644
--- a/modules/gallery/libraries/Theme_View.php
+++ b/modules/gallery/libraries/Theme_View.php
@@ -99,19 +99,19 @@ class Theme_View_Core extends Gallery_View {
}
public function album_menu() {
- $this->_menu("album");
+ print $this->_menu("album");
}
public function tag_menu() {
- $this->_menu("tag");
+ print $this->_menu("tag");
}
public function photo_menu() {
- $this->_menu("photo");
+ print $this->_menu("photo");
}
public function thumb_menu($item) {
- $this->_menu("thumb", $item);
+ print $this->_menu("thumb", $item)->css_class("gThumbMenu");
}
private function _menu($type, $item=null) {
@@ -127,8 +127,7 @@ class Theme_View_Core extends Gallery_View {
}
}
- $menu->compact();
- print $menu;
+ return $menu->compact();
}
public function pager() {
diff --git a/themes/default/css/screen.css b/themes/default/css/screen.css
index 93b68e68..c0954690 100644
--- a/themes/default/css/screen.css
+++ b/themes/default/css/screen.css
@@ -582,21 +582,21 @@ form .gError,
margin-bottom: 0;
}
-/* Photo Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
+/* Thumb Menu ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
-#gContent .gPhotoMenu {
+#gContent .gThumbMenu {
bottom: 0;
left: 0;
position: absolute;
width: 100%;
}
-#gContent .gPhotoMenu li {
+#gContent .gThumbMenu li {
border-left: none;
border-right: none;
}
-#gContent .gPhotoMenu a:hover {
+#gContent .gThumbMenu a:hover {
text-decoration: none;
}
diff --git a/themes/default/js/ui.init.js b/themes/default/js/ui.init.js
index 37261727..ac7ef8d2 100644
--- a/themes/default/js/ui.init.js
+++ b/themes/default/js/ui.init.js
@@ -15,8 +15,6 @@ $(document).ready(function() {
// Remove .gMenu from thumb menu's before initializing Superfish
// @todo gallery_menu should only apply gMenu to top-level menus, submenus should be gSubMenu-N
- $("#gContent .gItem .gMenu").removeClass("gMenu");
- $("#gContent .gQuick + ul").addClass("gPhotoMenu");
// Initialize Superfish menus
$("ul.gMenu").addClass("sf-menu");
@@ -41,28 +39,6 @@ $(document).ready(function() {
$(dialogLinks[i]).bind("click", handleDialogEvent);
}
- // Initialize photo menus
- if ($("#gContent .gPhotoMenu").length) {
- $("#gContent .gPhotoMenu li").addClass("ui-state-default");
- $("#gContent .gPhotoMenu li a")
- .not('[class]')
- .addClass("gButtonLink ui-icon")
- .css({
- "height":"10px",
- "margin":"0",
- "padding":"0"
- });
- //$(".gPhotoMenu ul").hide();
- $(".gPhotoMenu").hover(
- function(){
- $(this + " ul").show();
- },
- function(){
- $(this + " ul").hide();
- }
- );
- }
-
// Initialize view menu
if ($("#gViewMenu").length) {
$("#gViewMenu ul").removeClass("gMenu").removeClass("sf-menu");
@@ -118,6 +94,29 @@ $(document).ready(function() {
}
);
+ // Initialize thumbnail menus
+ if ($("#gContent .gThumbMenu").length) {
+ $("#gContent .gThumbMenu li").addClass("ui-state-default");
+ $("#gContent .gThumbMenu li a")
+ .not('[class]')
+ .addClass("gButtonLink ui-icon")
+ .css({
+ height: "10px",
+ margin: "0",
+ padding: "0"
+ });
+
+ $(".gThumbMenu ul").hide();
+ $(".gThumbMenu").hover(
+ function() {
+ $(this).find("ul").slideDown("fast");
+ },
+ function() {
+ $(this).find("ul").slideUp("slow");
+ }
+ );
+ }
+
});
/**