]> source.dussan.org Git - nextcloud-server.git/commitdiff
add breadcrumb controll to js
authorRobin Appelman <icewind@owncloud.com>
Sun, 9 Sep 2012 00:58:16 +0000 (02:58 +0200)
committerRobin Appelman <icewind@owncloud.com>
Sun, 9 Sep 2012 01:00:01 +0000 (03:00 +0200)
core/js/js.js

index afc0732d661d5f3c0b101cf70511c456426c1b56..e3c3716e055c803166b5a46fddb1f8f268515b0d 100644 (file)
@@ -244,6 +244,49 @@ OC.search.lastResults={};
 OC.addStyle.loaded=[];
 OC.addScript.loaded=[];
 
+OC.Breadcrumb={
+       container:null,
+       crumbs:[],
+       push:function(name, link){
+               if(!OC.Breadcrumb.container){//default
+                       OC.Breadcrumb.container=$('#controls');
+               }
+               var crumb=$('<div/>');
+               crumb.addClass('crumb').addClass('last');
+               crumb.attr('style','background-image:url("'+OC.imagePath('core','breadcrumb')+'")');
+
+               var crumbLink=$('<a/>');
+               crumbLink.attr('href',link);
+               crumbLink.text(name);
+               crumb.append(crumbLink);
+
+               var existing=OC.Breadcrumb.container.find('div.crumb');
+               if(existing.length){
+                       existing.removeClass('last');
+                       existing.last().after(crumb);
+               }else{
+                       OC.Breadcrumb.container.append(crumb);
+               }
+               OC.Breadcrumb.crumbs.push(crumb);
+               return crumb;
+       },
+       pop:function(){
+               if(!OC.Breadcrumb.container){//default
+                       OC.Breadcrumb.container=$('#controls');
+               }
+               OC.Breadcrumb.container.find('div.crumb').last().remove();
+               OC.Breadcrumb.container.find('div.crumb').last().addClass('last');
+               OC.Breadcrumb.crumbs.pop();
+       },
+       clear:function(){
+               if(!OC.Breadcrumb.container){//default
+                       OC.Breadcrumb.container=$('#controls');
+               }
+               OC.Breadcrumb.container.find('div.crumb').remove();
+               OC.Breadcrumb.crumbs=[];
+       }
+}
+
 if(typeof localStorage !='undefined' && localStorage != null){
        //user and instance awere localstorage
        OC.localStorage={