[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