From b0aca0c924770d659a88000e28edd06083162bd6 Mon Sep 17 00:00:00 2001 From: yflory Date: Wed, 5 Jul 2023 15:51:33 +0300 Subject: [PATCH] Get folders list syntax update --- www/common/outer/async-store.js | 13 +++++++++---- www/common/proxy-manager.js | 20 +++++++++----------- www/common/userObject.js | 14 ++++++++++---- 3 files changed, 28 insertions(+), 19 deletions(-) diff --git a/www/common/outer/async-store.js b/www/common/outer/async-store.js index 3aa3f373f..4a184afdd 100644 --- a/www/common/outer/async-store.js +++ b/www/common/outer/async-store.js @@ -1329,16 +1329,21 @@ define([ }; Store.getFoldersList = function (clientId, data, cb) { - var all = {}; + var all = []; var teamModule = store.modules['team']; var allTeams = teamModule.getTeamsData(); getAllStores().forEach(function (s) { - var key = "MyDrive"; // XXX + var name = "MyDrive"; // XXX if (s.id) { - if (allTeams[s.id]) { key = allTeams[s.id].name; } + if (allTeams[s.id]) { name = allTeams[s.id].name; } else { return; } } - all[key] = s.manager.getTree(cb); + all.push({ + isShared: false, + name: name, + pathName: 'root', + children: s.manager.getTree() + }); }); cb(all); }; diff --git a/www/common/proxy-manager.js b/www/common/proxy-manager.js index 8bba69c3f..8479db57a 100644 --- a/www/common/proxy-manager.js +++ b/www/common/proxy-manager.js @@ -1302,19 +1302,17 @@ define([ }; var getTree = function (Env) { - var tree = {}; - Env.user.userObject.getTree(tree); - var findShared = function (obj) { - Object.keys(obj).forEach(function (key) { - var el = obj[key]; - if (typeof(el) === "object") { return findShared(el); } + var tree = Env.user.userObject.getTree(); + var findShared = function (arr) { + arr.forEach(function (el, i) { + if (typeof(el) === "object") { return findShared(el.children); } if (!Env.folders[el]) { return; } var d = getSharedFolderData(Env, el); - var t = obj[key] = {}; - Env.folders[el].userObject.getTree(t); - t[Util.uid()] = { - sf: true, - title: d.title + arr[i] = { + isShared: true, + name: d.title, + pathName: [el, Env.user.userObject.ROOT], + children: Env.folders[el].userObject.getTree() }; }); }; diff --git a/www/common/userObject.js b/www/common/userObject.js index 4a620113c..05e55c7ae 100644 --- a/www/common/userObject.js +++ b/www/common/userObject.js @@ -771,16 +771,22 @@ define([ }; // Get tree with folders only - exp.getTree = function (tree, root) { + exp.getTree = function (root) { + var tree = []; root = root || files[ROOT]; for (var e in root) { if (isSharedFolder(root[e])) { - tree[e] = root[e]; + tree.push(root[e]); } else if (isFolder(root[e])) { - tree[e] = {}; - exp.getTree(tree[e], root[e]); + tree.push({ + name: e, + pathName: e, + isShared: false, + children: exp.getTree(root[e]) + }); } } + return tree; }; /**