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] 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');