Remove open bogus folder tags that don't have any entities assigned (#5225)
Fixes #5222
This commit is contained in:
@@ -2286,6 +2286,9 @@ function printViewTagList(tagContainer, empty = true) {
|
||||
|
||||
function removeMissingTagFilters() {
|
||||
const tagIds = new Set(tags.map(tag => tag.id));
|
||||
const assignedTagIds = new Set(Object.values(tag_map).flat());
|
||||
const openBogusFolderIds = new Set(getOpenBogusFolders().map(tag => tag.id));
|
||||
const isEmptyOpenBogusFolder = (tagId) => openBogusFolderIds.has(tagId) && !assignedTagIds.has(tagId);
|
||||
|
||||
for (const helper of [groupCandidatesFilter, groupMembersFilter, entitiesFilter]) {
|
||||
const { selected, excluded } = helper.getFilterData(FILTER_TYPES.TAG);
|
||||
@@ -2293,7 +2296,7 @@ function removeMissingTagFilters() {
|
||||
|
||||
if (Array.isArray(selected)) {
|
||||
for (let i = selected.length - 1; i >= 0; i--) {
|
||||
if (!tagIds.has(selected[i])) {
|
||||
if (!tagIds.has(selected[i]) || isEmptyOpenBogusFolder(selected[i])) {
|
||||
selected.splice(i, 1);
|
||||
anyRemoved = true;
|
||||
}
|
||||
@@ -2302,7 +2305,7 @@ function removeMissingTagFilters() {
|
||||
|
||||
if (Array.isArray(excluded)) {
|
||||
for (let i = excluded.length - 1; i >= 0; i--) {
|
||||
if (!tagIds.has(excluded[i])) {
|
||||
if (!tagIds.has(excluded[i]) || isEmptyOpenBogusFolder(excluded[i])) {
|
||||
excluded.splice(i, 1);
|
||||
anyRemoved = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user