diff --git a/lib/client/listeners.js b/lib/client/listeners.js index e8b00355..46c7e2c2 100644 --- a/lib/client/listeners.js +++ b/lib/client/listeners.js @@ -85,12 +85,21 @@ var Util, DOM, CloudFunc, CloudCmd; return fn; } + function isNoCurrent(panel) { + var noCurrent, + infoPanel = Info.panel, + namePanel = panel.getAttribute('data-name'), + nameInfoPanel = infoPanel.getAttribute('data-name'); + + if (namePanel !== nameInfoPanel) + noCurrent = true; + + return noCurrent; + } + function onPathElementClick(panel, event) { var link, href, url, - namePanel, - nameInfoPanel, - infoPanel = Info.panel, - noCurrent = false, + noCurrent, element = event.target, attr = element.getAttribute('data-name'); @@ -100,14 +109,8 @@ var Util, DOM, CloudFunc, CloudCmd; break; case 'js-refresh': - namePanel = panel.getAttribute('data-name'); + noCurrent = isNoCurrent(panel); - if (infoPanel) - nameInfoPanel = infoPanel.getAttribute('data-name'); - - if (namePanel !== nameInfoPanel) - noCurrent = true; - CloudCmd.refresh(panel, { noCurrent: noCurrent }); @@ -127,9 +130,12 @@ var Util, DOM, CloudFunc, CloudCmd; link = decodeURI(link); link = link.replace(CloudFunc.FS, '') || '/'; + noCurrent = isNoCurrent(panel); + CloudCmd.loadDir({ path : link, - isRefresh : false + isRefresh : false, + panel : noCurrent ? panel : Info.panel }); event.preventDefault();