From 9d3af829f2cdee369aee93250f330b50e57f2505 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6=20=28skjnldsv=29?= Date: Tue, 7 Nov 2017 05:40:26 +0100 Subject: [PATCH] Fixed breadcrumb action feedback and optimisation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: John Molakvoæ (skjnldsv) --- apps/files/js/breadcrumb.js | 14 +++++++------- apps/files/js/filelist.js | 2 ++ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/apps/files/js/breadcrumb.js b/apps/files/js/breadcrumb.js index e44da02fe5..f087a76a04 100644 --- a/apps/files/js/breadcrumb.js +++ b/apps/files/js/breadcrumb.js @@ -33,7 +33,7 @@ */ var BreadCrumb = function(options){ this.$el = $(''); - this.$menu = $(''); + this.$menu = $(''); options = options || {}; if (options.onClick) { this.onClick = options.onClick; @@ -84,6 +84,7 @@ }, setDirectoryInfo: function(dirInfo) { + console.log(dirInfo); if (dirInfo !== this.dirInfo) { this.dirInfo = dirInfo; this.render(); @@ -144,13 +145,12 @@ } this.breadcrumbs.push($crumb); this.$el.append($crumb); - if (this.onClick) { - $crumb.on('click', this.onClick); + // Only add feedback if not menu + if (this.onClick && i !== 0) { + $link.on('click', this.onClick); } } - var err = new Error(); - console.log(err.stack); // Menu creation this._createMenu(); for (var i = 0; i < parts.length; i++) { @@ -165,7 +165,6 @@ } } } - _.each(this._detailViews, function(view) { view.render({ dirInfo: this.dirInfo @@ -188,7 +187,8 @@ hoverClass: 'canDrop' }); } - + // Menu is destroyed on every change, we need to init it + OC.registerMenu($('.crumbmenu'), $('.crumbmenu > .popovermenu')); this._resize(); }, diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 0fdec811a3..e69fec9b0c 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -836,11 +836,13 @@ * Event handler when clicking on a bread crumb */ _onClickBreadCrumb: function(e) { + console.log('Clicked breadcrumb ', e); var $el = $(e.target).closest('.crumb'), $targetDir = $el.data('dir'); if ($targetDir !== undefined && e.which === 1) { e.preventDefault(); + console.log('Triggered dir change'); this.changeDirectory($targetDir, true, true); this.updateSearch(); }