From b12c1cb32521f643bcb3e2c4238fa2b9cf0fda55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Thu, 1 Aug 2013 14:38:06 +0200 Subject: [PATCH 1/2] add OC.Breadcrumb.show(dir, filename, link) --- core/js/js.js | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) diff --git a/core/js/js.js b/core/js/js.js index a92d41f236..17a24dd4bc 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -370,6 +370,68 @@ OC.Notification={ OC.Breadcrumb={ container:null, crumbs:[], + show:function(dir, filename, link){ + OC.Breadcrumb.clear(); + var path = dir.split('/'); + + //add home + var link = OC.linkTo('files','index.php'); + + var crumb=$('
'); + crumb.addClass('crumb'); + + var crumbLink=$(''); + crumbLink.attr('href',link); + + var crumbImg=$(''); + crumbImg.attr('src',OC.imagePath('core','places/home')); + crumbLink.append(crumbImg); + crumb.append(crumbLink); + OC.Breadcrumb.crumbs.push(crumb); + + //add path parts + var pathurl = ''; + jQuery.each(path, function(i,name) { + if (name !== '') { + pathurl = pathurl+'/'+name; + var link = OC.linkTo('files','index.php')+'?dir='+encodeURIComponent(pathurl); + + var crumb=$('
'); + crumb.addClass('crumb'); + + var crumbLink=$(''); + crumbLink.attr('href',link); + crumbLink.text(name); + crumb.append(crumbLink); + OC.Breadcrumb.crumbs.push(crumb); + } + }); + + //add filename (optional) + if (filename && link) { + pathurl = pathurl+'/'+filename; + + var crumb=$('
'); + crumb.addClass('crumb'); + + var crumbLink=$(''); + crumbLink.attr('href',link); + crumbLink.text(filename); + crumb.append(crumbLink); + OC.Breadcrumb.crumbs.push(crumb); + } + + // update crumb array + var lastCrumb = OC.Breadcrumb.crumbs.pop(); + lastCrumb = jQuery(lastCrumb).addClass('last'); + OC.Breadcrumb.crumbs.push(lastCrumb); + var crumbs = OC.Breadcrumb.crumbs; + crumbs.reverse(); + jQuery.each(crumbs, function(i,crumb){ + OC.Breadcrumb.container.prepend(crumb); + }); + + }, push:function(name, link){ if(!OC.Breadcrumb.container){//default OC.Breadcrumb.container=$('#controls'); From f8bb4e10ae5378122328f8e105494fd7af3db260 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Friedrich=20Dreyer?= Date: Fri, 2 Aug 2013 11:44:53 +0200 Subject: [PATCH 2/2] use fixed OC.Breadcrumb.push() --- core/js/js.js | 84 ++++++++++++++++++--------------------------------- 1 file changed, 30 insertions(+), 54 deletions(-) diff --git a/core/js/js.js b/core/js/js.js index 17a24dd4bc..03f660be62 100644 --- a/core/js/js.js +++ b/core/js/js.js @@ -370,67 +370,43 @@ OC.Notification={ OC.Breadcrumb={ container:null, crumbs:[], - show:function(dir, filename, link){ + show:function(dir, leafname, leaflink){ OC.Breadcrumb.clear(); - var path = dir.split('/'); - //add home - var link = OC.linkTo('files','index.php'); - - var crumb=$('
'); - crumb.addClass('crumb'); + // show home + path in subdirectories + if (dir && dir !== '/') { + //add home + var link = OC.linkTo('files','index.php'); - var crumbLink=$(''); - crumbLink.attr('href',link); - - var crumbImg=$(''); - crumbImg.attr('src',OC.imagePath('core','places/home')); - crumbLink.append(crumbImg); - crumb.append(crumbLink); - OC.Breadcrumb.crumbs.push(crumb); - - //add path parts - var pathurl = ''; - jQuery.each(path, function(i,name) { - if (name !== '') { - pathurl = pathurl+'/'+name; - var link = OC.linkTo('files','index.php')+'?dir='+encodeURIComponent(pathurl); - - var crumb=$('
'); - crumb.addClass('crumb'); + var crumb=$('
'); + crumb.addClass('crumb'); - var crumbLink=$(''); - crumbLink.attr('href',link); - crumbLink.text(name); - crumb.append(crumbLink); - OC.Breadcrumb.crumbs.push(crumb); - } - }); - - //add filename (optional) - if (filename && link) { - pathurl = pathurl+'/'+filename; - - var crumb=$('
'); - crumb.addClass('crumb'); + var crumbLink=$(''); + crumbLink.attr('href',link); - var crumbLink=$(''); - crumbLink.attr('href',link); - crumbLink.text(filename); - crumb.append(crumbLink); - OC.Breadcrumb.crumbs.push(crumb); + var crumbImg=$(''); + crumbImg.attr('src',OC.imagePath('core','places/home')); + crumbLink.append(crumbImg); + crumb.append(crumbLink); + OC.Breadcrumb.container.prepend(crumb); + OC.Breadcrumb.crumbs.push(crumb); + + //add path parts + var segments = dir.split('/'); + var pathurl = ''; + jQuery.each(segments, function(i,name) { + if (name !== '') { + pathurl = pathurl+'/'+name; + var link = OC.linkTo('files','index.php')+'?dir='+encodeURIComponent(pathurl); + OC.Breadcrumb.push(name, link); + } + }); } - // update crumb array - var lastCrumb = OC.Breadcrumb.crumbs.pop(); - lastCrumb = jQuery(lastCrumb).addClass('last'); - OC.Breadcrumb.crumbs.push(lastCrumb); - var crumbs = OC.Breadcrumb.crumbs; - crumbs.reverse(); - jQuery.each(crumbs, function(i,crumb){ - OC.Breadcrumb.container.prepend(crumb); - }); - + //add leafname + if (leafname && leaflink) { + OC.Breadcrumb.push(leafname, leaflink); + } }, push:function(name, link){ if(!OC.Breadcrumb.container){//default