From 184944dd5ff5e2b54a2c7f665d9d5144b31adae2 Mon Sep 17 00:00:00 2001 From: wandji Date: Thu, 21 Dec 2023 12:32:35 +0100 Subject: [PATCH] Improve interface and interaction of relationships column [SCI-9893] (#6851) * Improve interface and interaction of relationships column [SCI-9893] * Fix failling specs (use column order than relationships for sorting) [SCI-9893] --- .../repositories/renderers/view_renderers.js | 17 +++----- .../sitewide/repository_row_card.js | 8 ++-- app/helpers/repository_datatable_helper.rb | 2 +- .../RepositoryItemSidebar.vue | 38 +----------------- .../repository_values/ScrollSpy.vue | 39 ++++++++++++++++++- app/models/repository.rb | 1 + app/services/repository_datatable_service.rb | 4 ++ .../repository_rows_controller_spec.rb | 4 +- 8 files changed, 57 insertions(+), 56 deletions(-) diff --git a/app/assets/javascripts/repositories/renderers/view_renderers.js b/app/assets/javascripts/repositories/renderers/view_renderers.js index cc218f669..0f5e6af58 100644 --- a/app/assets/javascripts/repositories/renderers/view_renderers.js +++ b/app/assets/javascripts/repositories/renderers/view_renderers.js @@ -269,15 +269,10 @@ $.fn.dataTable.render.defaultRepositoryStockConsumptionValue = function() { }; $.fn.dataTable.render.RelationshipValue = function(data, row) { - if (data > 0) { - return `
- - - ${data} - -
`; - } - return ''; + return ` + ${data} + `; }; diff --git a/app/assets/javascripts/sitewide/repository_row_card.js b/app/assets/javascripts/sitewide/repository_row_card.js index aceed5d2e..8f837afac 100644 --- a/app/assets/javascripts/sitewide/repository_row_card.js +++ b/app/assets/javascripts/sitewide/repository_row_card.js @@ -3,12 +3,12 @@ (function() { 'use strict'; - $(document).on('click', '.relationships-cell-wrapper', function(e) { + $(document).on('click', '.relationships-info-link', (e) => { + const myModuleId = $('.my-module-content').data('task-id'); + const repositoryRowURL = $(e.target).attr('href'); + e.stopPropagation(); e.preventDefault(); - const myModuleId = $('.my-module-content').data('task-id'); - // extract the href attribute from a neighboring column cell, required for sidebar to open - const repositoryRowURL = $(this).closest('tr').find('.sorting_1 a').attr('href'); window.repositoryItemSidebarComponent.toggleShowHideSidebar(repositoryRowURL, myModuleId, 'relationships-section'); }); diff --git a/app/helpers/repository_datatable_helper.rb b/app/helpers/repository_datatable_helper.rb index 16d1b17ba..47b1fb02d 100644 --- a/app/helpers/repository_datatable_helper.rb +++ b/app/helpers/repository_datatable_helper.rb @@ -231,7 +231,7 @@ module RepositoryDatatableHelper '1': assigned_row(record), '2': record.code, '3': escape_input(record.name), - '4': record.relationship_count, + '4': "#{record.parent_connections_count || 0} / #{record.child_connections_count || 0}", '5': I18n.l(record.created_at, format: :full), '6': escape_input(record.created_by.full_name), '7': (record.archived_on ? I18n.l(record.archived_on, format: :full) : ''), diff --git a/app/javascript/vue/repository_item_sidebar/RepositoryItemSidebar.vue b/app/javascript/vue/repository_item_sidebar/RepositoryItemSidebar.vue index 9dc98a85b..d0eb6601c 100644 --- a/app/javascript/vue/repository_item_sidebar/RepositoryItemSidebar.vue +++ b/app/javascript/vue/repository_item_sidebar/RepositoryItemSidebar.vue @@ -289,43 +289,7 @@ diff --git a/app/javascript/vue/repository_item_sidebar/repository_values/ScrollSpy.vue b/app/javascript/vue/repository_item_sidebar/repository_values/ScrollSpy.vue index 73ce42a2e..2776dfe5e 100644 --- a/app/javascript/vue/repository_item_sidebar/repository_values/ScrollSpy.vue +++ b/app/javascript/vue/repository_item_sidebar/repository_values/ScrollSpy.vue @@ -21,11 +21,48 @@