Repository: eagle Updated Branches: refs/heads/master db26c1cf1 -> 73d03b9e5
[EAGLE-910] support merge portal UI merge side bar item if same name Author: zombieJ <[email protected]> Closes #816 from zombieJ/EAGLE-910. Project: http://git-wip-us.apache.org/repos/asf/eagle/repo Commit: http://git-wip-us.apache.org/repos/asf/eagle/commit/73d03b9e Tree: http://git-wip-us.apache.org/repos/asf/eagle/tree/73d03b9e Diff: http://git-wip-us.apache.org/repos/asf/eagle/diff/73d03b9e Branch: refs/heads/master Commit: 73d03b9e5b534a737e0fb96bd2f09e4c51591321 Parents: db26c1c Author: zombieJ <[email protected]> Authored: Sat Feb 18 15:17:21 2017 +0800 Committer: Hao Chen <[email protected]> Committed: Sat Feb 18 15:17:21 2017 +0800 ---------------------------------------------------------------------- .../app/dev/public/js/services/pageSrv.js | 21 +++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/eagle/blob/73d03b9e/eagle-server/src/main/webapp/app/dev/public/js/services/pageSrv.js ---------------------------------------------------------------------- diff --git a/eagle-server/src/main/webapp/app/dev/public/js/services/pageSrv.js b/eagle-server/src/main/webapp/app/dev/public/js/services/pageSrv.js index f4ea2f4..6f7e3c6 100644 --- a/eagle-server/src/main/webapp/app/dev/public/js/services/pageSrv.js +++ b/eagle-server/src/main/webapp/app/dev/public/js/services/pageSrv.js @@ -132,6 +132,22 @@ return portal; } + /** + * Merge navigation item if same name + */ + function mergePortalList(list) { + var mergedList = []; + $.each(list, function (i, portal) { + var mergedPortal = common.array.find(portal.name, mergedList, ['name']); + if (mergedPortal && portal.list && mergedPortal.list) { + mergedPortal.list = mergedPortal.list.concat(portal.list); + } else { + mergedList.push($.extend({}, portal)); + } + }); + return mergedList; + } + Portal.refresh = function () { // TODO: check admin @@ -144,17 +160,20 @@ }; }); connectedMainPortalList.push({name: "Sites", icon: "server", showFunc: checkApplication, list: siteList}); + connectedMainPortalList = mergePortalList(connectedMainPortalList); // Site level sitePortals = {}; $.each(Site.list, function (i, site) { var siteHome = {name: site.siteName || site.siteId + " Home", icon: "home", path: "#/site/" + site.siteId}; - sitePortals[site.siteId] = [backHome, siteHome].concat($.map(sitePortalList, function (portal) { + var sitePortalList = [backHome, siteHome].concat($.map(sitePortalList, function (portal) { var hasApp = !!common.array.find(portal.application, site.applicationList, "descriptor.type"); if(hasApp) { return convertSitePortal(site, portal); } })); + + sitePortals[site.siteId] = mergePortalList(sitePortalList); }); };
