From 1f8eac0cb7f20d84f2e8c81492ccc3b408010726 Mon Sep 17 00:00:00 2001 From: "a.schindlbeck" <a.schindlbeck@adito.de> Date: Tue, 15 Dec 2020 16:08:34 +0100 Subject: [PATCH] "#1069059 Favoriten: Performance optimized #2 --- .../jditorecordcontainer/contentProcess.js | 76 +++++++++++-------- .../jditorecordcontainer/onDelete.js | 3 +- 2 files changed, 45 insertions(+), 34 deletions(-) diff --git a/entity/Favorite_entity/recordcontainers/jditorecordcontainer/contentProcess.js b/entity/Favorite_entity/recordcontainers/jditorecordcontainer/contentProcess.js index eafabfcf64..58d538be7d 100644 --- a/entity/Favorite_entity/recordcontainers/jditorecordcontainer/contentProcess.js +++ b/entity/Favorite_entity/recordcontainers/jditorecordcontainer/contentProcess.js @@ -10,14 +10,13 @@ import("system.entities"); if(vars.get("$local.idvalues") && vars.get("$local.idvalues").length != 0) { - var selected = vars.get("$local.idvalues"); - var selectedFavos = []; + var seekedByCore = vars.get("$local.idvalues"); + var seekedByCoreFavos = []; - for(h = 0; h < selected.length; h++) - selectedFavos.push(buildFavoriteForDeletion(favorite.getFavorites(favorite.createGetFavoriteByIdConfig() - .setId(selected[h]))[0])); + var config = favorite.createGetFavoriteByIdConfig().setIds(seekedByCore); + seekedByCoreFavos = buildFavoritesForDeletion(favorite.getFavorites(config)); - result.object(selectedFavos); + result.object(seekedByCoreFavos); } else { @@ -32,12 +31,16 @@ else var finishedFavoritesForDisplay = []; var allContexts = getAllFavoriteEnabledContexts(); + var allFavorites = favorite.getFavorites(favorite.createGetFavoritesConfig() + .setUserId(tools.getCurrentUser()[tools.NAME])); for(i = 0; i < allContexts.length; i++) { - var allFavorites = favorite.getFavorites(favorite.createGetFavoritesConfig() - .setUserId(tools.getCurrentUser()[tools.NAME]) - .setObjectType(allContexts[i])); - var builtFavos = buildFavorites(allFavorites, allContexts[i]); + var contextFavorites = []; + for(x = 0; x < allFavorites.length; x++) + if(allFavorites[x]["objecttype"] === allContexts[i]) + contextFavorites.push(allFavorites[x]) + + var builtFavos = buildFavorites(contextFavorites, allContexts[i]); for(let x = 0; x < builtFavos.length; x++) { @@ -193,29 +196,36 @@ function getAllFavoriteEnabledContexts() return permittedContexts; } -function buildFavoriteForDeletion(favo) -{ - var groupid = favo["group"]["groupid"]; - var grouptitle = favo["group"]["grouptitle"]; - var grouptype = favo["group"]["grouptype"]; - var objecttype = favo["objecttype"]; - var image = ""; - var rowid = favo["rowid"]; - var title = ""; - var id = favo["id"]; - var user = favo["group"]["groupuser"]; - - return [ - groupid, - grouptitle, - grouptype, - objecttype, - image, - rowid, - title, - id, - user - ]; +function buildFavoritesForDeletion(favos) +{ + var results = []; + + for(i = 0; i < favos.length; i++) + { + var groupid = favos[i]["group"]["groupid"]; + var grouptitle = favos[i]["group"]["grouptitle"]; + var grouptype = favos[i]["group"]["grouptype"]; + var objecttype = favos[i]["objecttype"]; + var image = ""; + var rowid = favos[i]["rowid"]; + var title = ""; + var id = favos[i]["id"]; + var user = favos[i]["group"]["groupuser"]; + + results.push([ + groupid, + grouptitle, + grouptype, + objecttype, + image, + rowid, + title, + id, + user + ]); + } + + return results; } diff --git a/entity/Favorite_entity/recordcontainers/jditorecordcontainer/onDelete.js b/entity/Favorite_entity/recordcontainers/jditorecordcontainer/onDelete.js index 5c5ab2b521..f289f5e98c 100644 --- a/entity/Favorite_entity/recordcontainers/jditorecordcontainer/onDelete.js +++ b/entity/Favorite_entity/recordcontainers/jditorecordcontainer/onDelete.js @@ -1,4 +1,5 @@ import("system.vars"); import("system.favorite"); -favorite.remove(favorite.createRemoveByIdConfig().setFavoriteRecordId(vars.get("$local.uid"))); \ No newline at end of file +var selected = vars.get("$sys.selection"); +favorite.remove(favorite.createRemoveMultipleByIdConfig().setFavoriteRecordIds(selected)); \ No newline at end of file -- GitLab