From 31ad21f743765f74ff24bf81908ed1b7295f57bf Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Fri, 26 Feb 2021 15:50:17 -0500 Subject: [PATCH] SearchKit - Add numbers to links when > 1 of the same entity --- ext/afform/admin/ang/afGuiEditor/afGuiSearch.component.js | 2 +- .../ang/crmSearchAdmin/crmSearchAdminDisplay.component.js | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ext/afform/admin/ang/afGuiEditor/afGuiSearch.component.js b/ext/afform/admin/ang/afGuiEditor/afGuiSearch.component.js index f8c282e5a9..cf251992b8 100644 --- a/ext/afform/admin/ang/afGuiEditor/afGuiSearch.component.js +++ b/ext/afform/admin/ang/afGuiEditor/afGuiSearch.component.js @@ -65,7 +65,7 @@ var joinInfo = join[0].split(' AS '), entity = afGui.getEntity(joinInfo[0]), alias = joinInfo[1]; - entityCount[entity.entity] = entityCount[entity.entity] ? entityCount[entity.entity] + 1 : 1; + entityCount[entity.entity] = (entityCount[entity.entity] || 0) + 1; $scope.fieldList.push({ entityType: entity.entity, label: ts('%1 Fields', {1: entity.label + (entityCount[entity.entity] > 1 ? ' ' + entityCount[entity.entity] : '')}), diff --git a/ext/search/ang/crmSearchAdmin/crmSearchAdminDisplay.component.js b/ext/search/ang/crmSearchAdmin/crmSearchAdminDisplay.component.js index 2e3fd7aebe..83323e732d 100644 --- a/ext/search/ang/crmSearchAdmin/crmSearchAdminDisplay.component.js +++ b/ext/search/ang/crmSearchAdmin/crmSearchAdminDisplay.component.js @@ -144,14 +144,20 @@ // Build a list of all possible links to main entity or join entities function buildLinks() { // Links to main entity - var links = _.cloneDeep(searchMeta.getEntity(ctrl.savedSearch.api_entity).paths || []); + var links = _.cloneDeep(searchMeta.getEntity(ctrl.savedSearch.api_entity).paths || []), + entityCount = {}; + entityCount[ctrl.savedSearch.api_entity] = 1; // Links to explicitly joined entities _.each(ctrl.savedSearch.api_params.join, function(join) { var joinName = join[0].split(' AS '), joinEntity = searchMeta.getEntity(joinName[0]); + entityCount[joinEntity.name] = (entityCount[joinEntity.name] || 0) + 1; _.each(joinEntity.paths, function(path) { var link = _.cloneDeep(path); link.path = link.path.replace(/\[/g, '[' + joinName[1] + '.'); + if (entityCount[joinEntity.name] > 1) { + link.title += ' ' + entityCount[joinEntity.name]; + } links.push(link); }); }); -- 2.25.1