[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    www/sites/www-devel
From:       Sayak Banerjee <sayakb () ubuntu ! com>
Date:       2010-06-26 12:20:36
Message-ID: 20100626122036.5FBC2AC8DF () svn ! kde ! org
[Download RAW message or body]

SVN commit 1143082 by sayakb:

1. Add teaser slideshow configurable api (using JSON)
2. Fix plasmaMenu klick on menuItem bug

 M  +12 -1     images/teaser/teaser.json  
 M  +3 -3      media/includes/chihuahua/template-top1.inc  
 M  +17 -5     media/includes/classes/class_teaser.inc  
 M  +1 -1      media/javascripts/plasmaMenu.js  
 M  +1 -1      media/javascripts/plasmaMenu.min.js  


--- trunk/www/sites/www-devel/images/teaser/teaser.json #1143081:1143082
@@ -1,11 +1,21 @@
 {
+	"teaserOptions":
+	{
+		"fx": "scrollUp",
+		"timeout": 6000,
+		"speed": 500
+	},
+	
+	"teaserImages":
+	{
   "slide0.jpg": 
   {
-    "href": "http://kde.org/announcements/4.4/",
+			"href": "/announcements/4.4/",
     "alt": "KDE SC 4.4 Announcement"
   },
   "slide1.jpg": 
   {
+			"href": "",
     "alt": "Be Free"
   },
   "slide2.jpg": 
@@ -18,4 +28,5 @@
     "href": "/applications/multimedia/amarok/",
     "alt": "Listen with Amarok"
   }
+	}
 }
\ No newline at end of file
--- trunk/www/sites/www-devel/media/includes/chihuahua/template-top1.inc \
#1143081:1143082 @@ -70,9 +70,9 @@
 								 "/media/images/plasmaMenu/menubox_body.png",
 								 "/media/images/plasmaMenu/menubox_bottom.png");
 			$('.teaser').cycle({
-				fx: 'scrollUp',
-				timeout: 6000,
-				speed: 500,
+				fx: '<?php echo $teaserImages->options['fx']; ?>',
+				timeout: <?php echo $teaserImages->options['timeout']; ?>,
+				speed: <?php echo $teaserImages->options['speed']; ?>,
 				next : $('#next'),
 				prev : $('#previous')
 			});
--- trunk/www/sites/www-devel/media/includes/classes/class_teaser.inc \
#1143081:1143082 @@ -14,13 +14,14 @@
 {
   var $fileData; // containing alt and href information
   var $files = array(); // containing filenames
+	var $options = array(); // slideshow options
   
   //
   // Constructor, setting up the arrays
   //  
   function teaserImageBuilder()
   {
-    $this->fileData = $this->getFileData(); // maybe empty
+		$this->fileData = $this->getJsonData(); // maybe empty
     $this->files = $this->getFiles();
   }
   
@@ -40,17 +41,19 @@
 		  // Reset strings 
       $alt = "";
       $href = "";			
+			
 			if ($this->fileData && $this->fileData[$file] )
 			{
 			  // Get info from the array
 			  $alt = $this->fileData[$file]["alt"];
 			  $href = $this->fileData[$file]["href"];
 			}
+			
 			// Img tag string
 			$imgTag = "<img " . ($flag ? "class=\"teaser_hide\" " : "") . \
"src=\"/images/teaser/{$file}\" alt=\"$alt\" />";  
       // Do we have a link?			
-			if ($href)
+			if (!empty($href))
 			{
 			  // Enclose the img tag with an a tag
 			  echo "\t<a href=\"{$href}\">{$imgTag}</a>\n";
@@ -65,7 +68,6 @@
 				// Set the flag
 				$flag = true;
 			}
-			
 		}
 	
 		// That's it!
@@ -122,15 +124,25 @@
     return $fileList; 
 	}
 	
+	//
   // Get filenames, href and alt information from teaser.json 	
-	function getFileData()
+	// Also set the various teaser slideshow options
+	//
+	function getJsonData()
 	{
 	  global $document_root;
+		
     // Look for teaser.json
     if (file_exists( $document_root."/images/teaser/teaser.json" ) )
     {
       // Parse json file      
-      return json_decode(file_get_contents($document_root."/images/teaser/teaser.json"), \
true); +			$values = json_decode(file_get_contents($document_root . \
"/images/teaser/teaser.json"), true); +			
+			// Set the options
+			$this->options = $values["teaserOptions"];
+			
+			// Return file data
+			return $values["teaserImages"];
 		}
 		else
 		{
--- trunk/www/sites/www-devel/media/javascripts/plasmaMenu.js #1143081:1143082
@@ -586,7 +586,7 @@
 			var thisDiv = allDivs[idx];
 		
 			// If the id is a part of the main_menu category, user is clicking on the menu \
                again
-			if(thisDiv.id.substr(0, 9) == 'mainmenu_' && t == thisDiv)
+			if ((thisDiv.id.substr(0, 9) == 'mainmenu_' || thisDiv.id == 'plasmamenu_temp') \
&& t == thisDiv)  { 
 				return false; 
 			}
--- trunk/www/sites/www-devel/media/javascripts/plasmaMenu.min.js #1143081:1143082
@@ -6,5 +6,5 @@
 * @license http://opensource.org/licenses/gpl-license.php GNU Public License
 *
 */
-var categories=new Array();var activeTab=null;var hoverEvent=null;var isIe=false;var \
menuOpening=false;var openSub=null;var openSubEve=null;function \
detectBrowser(){if(navigator.appName.indexOf('Microsoft')!=-1){isIe=true}}function \
prepareMenu(){var b=document.getElementsByTagName('div');var c='';for(var \
d=0;d<b.length;d++){if(b[d].id.substr(0,9)=='mainmenu_'){c+=b[d].id.replace('mainmenu_','')+','}}c=c.substr(0,c.length-1);categories=c.split(',');for(var \
e=0;e<categories.length;e++){$('.mainmenu_'+categories[e]+'_sub').css({display:'none'} \
)}$('div').removeClass('plasmamenu_box_submenu');$('li').removeClass('menubox_entry'); \
$('.menubox_subhover').addClass('menubox_subhover_js');$('.menubox_subhover_js').remov \
eClass('menubox_subhover');$('div').click(function(){if($(this).attr('id').substr(0,9) \
=='mainmenu_'){showMenu($(this).attr('class'))}});$('div').mouseover(function(){if($(t \
his).attr('id').substr(0,9)=='mainmenu_'){slideMenu($(this).attr('class'))}});$('.menubox_subhover_
  js').mouseover(function(){var \
a=$(this).attr('class').replace('index','').replace('menubox_subhover_js','').replace( \
/^\s*/,"").replace(/\s*$/,"")+'_sub';clearTimeout(openSubEve);openSubEve=setTimeout(fu \
nction(){showSubMenu(a)},202)});$('li').mouseover(function(){if($(this).attr('class'). \
indexOf('index')==0&&$(this).attr('class').indexOf(openSub)==-1){if($(this).attr('clas \
s').indexOf('menubox_subhover_js')==-1){clearTimeout(openSubEve)}hideSubMenu()}});$(document).keyup(function(a){if(a.keyCode==27){hideMenu()}})}function \
showMenu(a){var b=false;for(var \
c=0;c<categories.length;c++){if($('.mainmenu_'+categories[c]+'_sub').css('display')!='none'){b=true}}if(!b){menuOpening=true;activeTab=a;var \
d='.'+a+'_sub';var e=$(d).position().top-40;$('body').append("<div \
id=\"plasmamenu_temp\"></div>");$('#plasmamenu_temp').css({position:'absolute',height: \
$('body').height().toString()+'px',width:$('body').width().toString()+'px',zIndex:'9999',top:'0px',left:'0px',cursor:'pointer'});$(d).cs
  s({top:e.toString()+'px',display:'block',opacity:0});$(d).animate({top:'15px',opacit \
y:0.8},function(){setTimeout(function(){$(d).animate({opacity:1});menuOpening=false;$('#plasmamenu_temp').remove()},1)})}}function \
hideMenu(){clearTimeout(hoverEvent);$('div').stop(true,true);hoverEvent=null;activeTab=null;hideSubMenu();for(var \
b=0;b<categories.length;b++){var c='mainmenu_'+categories[b];var \
d='.mainmenu_'+categories[b]+'_sub';var \
e=$('.'+c+'_content').html().replaceAll('\"','').toLowerCase();var f=e.split('<li \
class=index');var g=f.length-1;var \
h=(isIe?27:26)*g;if(!isIe){$('.'+c+'_content').css('opacity',1)}$('.'+c+'_content').cs \
s('height',h.toString()+'px');$('.'+c+'_animation').html('');$('.'+c+'_animation').css('opacity',0);if($(d).css('display')!='none'){var \
i=$(d).position().top-40;$(d).stop(true,true);var \
j;if(!isIe){j={top:i.toString()+'px',opacity:0}}else{j={top:i.toString()+'px'}}$(d).animate(j,function(){$(d).css({display:'none'})})}}setTimeout(function(){for(var \
a  =0;a<categories.length;a++){$('.mainmenu_'+categories[a]+'_sub').css('display','none')}},401)}function \
slideMenu(b){var c=false;var d=false;var e=setInterval(function(){for(var \
a=0;a<categories.length;a++){if($('.mainmenu_'+categories[a]+'_sub').css('display')!=' \
none'){c=true}if($('.mainmenu_'+categories[a]+'_sub').is(':animated')||$('.mainmenu_'+ \
categories[a]+'_content').is(':animated')||$('.mainmenu_'+categories[a]+'_animation'). \
is(':animated')){d=true}}if(d){d=false}else{clearInterval(e);e=null;slideMenuCall(b,c)}},10)}function \
slideMenuCall(i,j){if(activeTab!=i&&j){clearTimeout(hoverEvent);hideSubMenu();hoverEvent=setTimeout(function(){if(!$('.'+a+'_sub').is(':animated')){var \
a=activeTab;activeTab=i;if(a!=activeTab){var \
b=$('.'+activeTab).position().left-$('.'+a).position().left;var \
c=$('.'+a+'_content').height();var d=$('.'+activeTab+'_content').html();var \
e=$('.'+activeTab+'_content').html().replaceAll('\"','').toLowerCase();var \
f=e.split('<li class=index');var g=f.len  gth-1;var \
h=(isIe?27:26)*g;$('.menubox_body').css('overflow','hidden');$('body').append("<div \
id=\"plasmamenu_temp\"></div>");$('#plasmamenu_temp').css({position:'absolute',height: \
$('body').height().toString()+'px',width:$('body').width().toString()+'px',zIndex:'999 \
9',top:'0px',left:'0px',cursor:'pointer'});$('.'+activeTab+'_content').css('height',h. \
toString()+'px');if(!isIe){$('.'+a+'_animation').html(d);$('.'+a+'_animation').css('di \
splay','block');$('.'+a+'_animation').animate({opacity:1});$('.'+a+'_content').animate \
({height:h.toString()+'px',opacity:0})}$('.'+a+'_sub').animate({left:b.toString()+'px' \
},function(){$('.'+a+'_sub').css({display:'none',left:'0px'});$('.'+activeTab+'_sub'). \
css({display:'block',left:'0px'});$('.menubox_body').css('overflow','visible');$('#pla \
smamenu_temp').remove();if(!isIe){$('.'+a+'_animation').css({display:'none',opacity:0} \
);$('.'+a+'_content').css({height:c.toString()+'px',opacity:1});$('.'+activeTab+'_sub').css({display:'block',opacity:1,to
  p:'15px'})}})}}},300)}}function \
showSubMenu(b){$('.'+b).stop(true,true);if(!menuOpening&&$('.'+b).css('display')=='none'){var \
c=setInterval(function(){if(openSub==null){clearInterval(c);openSub=b.substr(0,b.length-4);var \
a,animProps;if(!isIe){a={display:'block',opacity:0,left:'133px'};animProps={opacity:1, \
left:'173px'}}else{a={display:'block',left:'133px'};animProps={left:'173px'}}$('.'+b).css(a);$('.'+b).animate(animProps,200)}},201)}}function \
hideSubMenu(){var a;if(!isIe){a={left:'133px',opacity:0}}else{a={left:'133px'}}$('.'+o \
penSub+'_sub').animate(a,200,function(){$('.menubox_subparent').css({left:'173px',display:'none'});openSub=null})}function \
checkClick(e){var a=(e&&e.target)||(event&&event.srcElement);checkParent(a)?hideMenu():null}function \
checkParent(t){while(t.parentNode){var a=document.getElementsByTagName('div');for(var \
b=0;b<a.length;b++){var c=a[b];if(c.id.substr(0,9)=='mainmenu_'&&t==c){return \
false}}t=t.parentNode}return true}String.prototype.replaceAll=func  tion(a,b){var \
c=this;var d=c.indexOf(a);while(d!=-1){c=c.replace(a,b);d=c.indexOf(a)}return c} +var \
categories=new Array();var activeTab=null;var hoverEvent=null;var isIe=false;var \
menuOpening=false;var openSub=null;var openSubEve=null;function \
detectBrowser(){if(navigator.appName.indexOf('Microsoft')!=-1){isIe=true}}function \
prepareMenu(){var b=document.getElementsByTagName('div');var c='';for(var \
d=0;d<b.length;d++){if(b[d].id.substr(0,9)=='mainmenu_'){c+=b[d].id.replace('mainmenu_','')+','}}c=c.substr(0,c.length-1);categories=c.split(',');for(var \
e=0;e<categories.length;e++){$('.mainmenu_'+categories[e]+'_sub').css({display:'none'} \
)}$('div').removeClass('plasmamenu_box_submenu');$('li').removeClass('menubox_entry'); \
$('.menubox_subhover').addClass('menubox_subhover_js');$('.menubox_subhover_js').remov \
eClass('menubox_subhover');$('div').click(function(){if($(this).attr('id').substr(0,9) \
=='mainmenu_'){showMenu($(this).attr('class'))}});$('div').mouseover(function(){if($(t \
his).attr('id').substr(0,9)=='mainmenu_'){slideMenu($(this).attr('class'))}});$('.menubox_subhover_
  js').mouseover(function(){var \
a=$(this).attr('class').replace('index','').replace('menubox_subhover_js','').replace( \
/^\s*/,"").replace(/\s*$/,"")+'_sub';clearTimeout(openSubEve);openSubEve=setTimeout(fu \
nction(){showSubMenu(a)},202)});$('li').mouseover(function(){if($(this).attr('class'). \
indexOf('index')==0&&$(this).attr('class').indexOf(openSub)==-1){if($(this).attr('clas \
s').indexOf('menubox_subhover_js')==-1){clearTimeout(openSubEve)}hideSubMenu()}});$(document).keyup(function(a){if(a.keyCode==27){hideMenu()}})}function \
showMenu(a){var b=false;for(var \
c=0;c<categories.length;c++){if($('.mainmenu_'+categories[c]+'_sub').css('display')!='none'){b=true}}if(!b){menuOpening=true;activeTab=a;var \
d='.'+a+'_sub';var e=$(d).position().top-40;$('body').append("<div \
id=\"plasmamenu_temp\"></div>");$('#plasmamenu_temp').css({position:'absolute',height: \
$('body').height().toString()+'px',width:$('body').width().toString()+'px',zIndex:'9999',top:'0px',left:'0px',cursor:'pointer'});$(d).cs
  s({top:e.toString()+'px',display:'block',opacity:0});$(d).animate({top:'15px',opacit \
y:0.8},function(){setTimeout(function(){$(d).animate({opacity:1});menuOpening=false;$('#plasmamenu_temp').remove()},1)})}}function \
hideMenu(){clearTimeout(hoverEvent);$('div').stop(true,true);hoverEvent=null;activeTab=null;hideSubMenu();for(var \
b=0;b<categories.length;b++){var c='mainmenu_'+categories[b];var \
d='.mainmenu_'+categories[b]+'_sub';var \
e=$('.'+c+'_content').html().replaceAll('\"','').toLowerCase();var f=e.split('<li \
class=index');var g=f.length-1;var \
h=(isIe?27:26)*g;if(!isIe){$('.'+c+'_content').css('opacity',1)}$('.'+c+'_content').cs \
s('height',h.toString()+'px');$('.'+c+'_animation').html('');$('.'+c+'_animation').css('opacity',0);if($(d).css('display')!='none'){var \
i=$(d).position().top-40;$(d).stop(true,true);var \
j;if(!isIe){j={top:i.toString()+'px',opacity:0}}else{j={top:i.toString()+'px'}}$(d).animate(j,function(){$(d).css({display:'none'})})}}setTimeout(function(){for(var \
a  =0;a<categories.length;a++){$('.mainmenu_'+categories[a]+'_sub').css('display','none')}},401)}function \
slideMenu(b){var c=false;var d=false;var e=setInterval(function(){for(var \
a=0;a<categories.length;a++){if($('.mainmenu_'+categories[a]+'_sub').css('display')!=' \
none'){c=true}if($('.mainmenu_'+categories[a]+'_sub').is(':animated')||$('.mainmenu_'+ \
categories[a]+'_content').is(':animated')||$('.mainmenu_'+categories[a]+'_animation'). \
is(':animated')){d=true}}if(d){d=false}else{clearInterval(e);e=null;slideMenuCall(b,c)}},10)}function \
slideMenuCall(i,j){if(activeTab!=i&&j){clearTimeout(hoverEvent);hideSubMenu();hoverEvent=setTimeout(function(){if(!$('.'+a+'_sub').is(':animated')){var \
a=activeTab;activeTab=i;if(a!=activeTab){var \
b=$('.'+activeTab).position().left-$('.'+a).position().left;var \
c=$('.'+a+'_content').height();var d=$('.'+activeTab+'_content').html();var \
e=$('.'+activeTab+'_content').html().replaceAll('\"','').toLowerCase();var \
f=e.split('<li class=index');var g=f.len  gth-1;var \
h=(isIe?27:26)*g;$('.menubox_body').css('overflow','hidden');$('body').append("<div \
id=\"plasmamenu_temp\"></div>");$('#plasmamenu_temp').css({position:'absolute',height: \
$('body').height().toString()+'px',width:$('body').width().toString()+'px',zIndex:'999 \
9',top:'0px',left:'0px',cursor:'pointer'});$('.'+activeTab+'_content').css('height',h. \
toString()+'px');if(!isIe){$('.'+a+'_animation').html(d);$('.'+a+'_animation').css('di \
splay','block');$('.'+a+'_animation').animate({opacity:1});$('.'+a+'_content').animate \
({height:h.toString()+'px',opacity:0})}$('.'+a+'_sub').animate({left:b.toString()+'px' \
},function(){$('.'+a+'_sub').css({display:'none',left:'0px'});$('.'+activeTab+'_sub'). \
css({display:'block',left:'0px'});$('.menubox_body').css('overflow','visible');$('#pla \
smamenu_temp').remove();if(!isIe){$('.'+a+'_animation').css({display:'none',opacity:0} \
);$('.'+a+'_content').css({height:c.toString()+'px',opacity:1});$('.'+activeTab+'_sub').css({display:'block',opacity:1,to
  p:'15px'})}})}}},300)}}function \
showSubMenu(b){$('.'+b).stop(true,true);if(!menuOpening&&$('.'+b).css('display')=='none'){var \
c=setInterval(function(){if(openSub==null){clearInterval(c);openSub=b.substr(0,b.length-4);var \
a,animProps;if(!isIe){a={display:'block',opacity:0,left:'133px'};animProps={opacity:1, \
left:'173px'}}else{a={display:'block',left:'133px'};animProps={left:'173px'}}$('.'+b).css(a);$('.'+b).animate(animProps,200)}},201)}}function \
hideSubMenu(){var a;if(!isIe){a={left:'133px',opacity:0}}else{a={left:'133px'}}$('.'+o \
penSub+'_sub').animate(a,200,function(){$('.menubox_subparent').css({left:'173px',display:'none'});openSub=null})}function \
checkClick(e){var a=(e&&e.target)||(event&&event.srcElement);checkParent(a)?hideMenu():null}function \
checkParent(t){while(t.parentNode){var a=document.getElementsByTagName('div');for(var \
b=0;b<a.length;b++){var \
c=a[b];if((c.id.substr(0,9)=='mainmenu_'||c.id=='plasmamenu_temp')&&t==c){return \
false}}t=t.parentNode}return true}Strin  g.prototype.replaceAll=function(a,b){var \
c=this;var d=c.indexOf(a);while(d!=-1){c=c.replace(a,b);d=c.indexOf(a)}return c}  \
document.onready=function(){detectBrowser();prepareMenu()};document.onclick=checkClick;
 \ No newline at end of file


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic