From 9b8a161b946444a1f018ad777fb60ea086a1a56f Mon Sep 17 00:00:00 2001 From: coderaiser Date: Mon, 26 May 2014 07:51:36 -0400 Subject: [PATCH] refactor(cloudfunc) getPathElement --- lib/cloudfunc.js | 48 ++++++++++++++++++++---------------------------- 1 file changed, 20 insertions(+), 28 deletions(-) diff --git a/lib/cloudfunc.js b/lib/cloudfunc.js index 346a8db8..86286849 100644 --- a/lib/cloudfunc.js +++ b/lib/cloudfunc.js @@ -327,38 +327,30 @@ var Util; * @param url - адрес каталога */ function getPathElement(url) { - var i, shortName, slashIndex, - folders = [], - href = '', - hrefEnd ='', - - /* корневой каталог */ - htmlPath = href + FS + title + - '/' + _l + '/' + - hrefEnd; + var pathHTML = '', + path = '/', + template = '{{ name }}{{ slash }}', + names = url.split('/') + .slice(0, -1); - do { - folders.push(url); - url = url.substr(url, url.lastIndexOf('/')); - } while (url !== ''); - - /* Формируем ссылки на каждый каталог в пути */ - for (i = folders.length - 1; i > 0; i--) { - url = folders[i]; - slashIndex = url.lastIndexOf('/') + 1; - shortName = Util.rmStr(url, url.substr(url, slashIndex)); + names[0] = '/'; + + names.forEach(function(name, index) { + var slash = '/'; - if (i !== 1) - htmlPath += href + FS + url + - title + url + _l + - shortName + hrefEnd + '/'; + if (!index) + slash = ''; else - htmlPath += shortName + '/'; - } + path += name + '/'; + + pathHTML += Util.render(template, { + path: path, + name: name, + slash: slash + }); + }); - return htmlPath; + return pathHTML; } /**