From 356414f79408f22fe20634e40effd1d4b02dea0c Mon Sep 17 00:00:00 2001 From: Andrej Date: Tue, 25 Feb 2025 08:36:47 +0100 Subject: [PATCH] Add output tag to the full live and snapshot view on task for assigned items [SCI-11559] --- .../javascripts/my_modules/repositories.js | 19 ++++++++++++------- app/helpers/repository_datatable_helper.rb | 16 +++++----------- .../snapshot_index.json.jbuilder | 3 ++- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/app/assets/javascripts/my_modules/repositories.js b/app/assets/javascripts/my_modules/repositories.js index fd1e89c5b..a872a507a 100644 --- a/app/assets/javascripts/my_modules/repositories.js +++ b/app/assets/javascripts/my_modules/repositories.js @@ -129,9 +129,7 @@ var MyModuleRepositories = (function() { }, { targets: 3, className: 'item-name', - render: function(data, type, row) { - return "" + data + ''; - } + render: (data, type, row) => renderFullViewName(data, row) }, { targets: 4, class: 'relationship', @@ -141,7 +139,7 @@ var MyModuleRepositories = (function() { columnDefs.push({ targets: 2, className: 'item-name', - render: (data, type, row) => `${data}`, + render: (data, type, row) => renderFullViewName(data, row) }); } @@ -214,6 +212,16 @@ var MyModuleRepositories = (function() { return columnDefs; } + function renderFullViewName(data, row) { + let tags = ''; + + row.DT_RowAttr['data-state'].forEach((state) => { + tags += `${state}`; + }); + + return `
${data} ${tags}
`; + } + function renderSimpleTable(tableContainer) { if (SIMPLE_TABLE) SIMPLE_TABLE.destroy(); SIMPLE_TABLE = $(tableContainer).DataTable({ @@ -364,9 +372,6 @@ var MyModuleRepositories = (function() { $(row).addClass('selected'); checkbox.attr('checked', !checkbox.attr('checked')); } - }, - createdRow: function(row, data) { - $(row).find('.item-name').attr('data-state', data.DT_RowAttr['data-state']); } }); } diff --git a/app/helpers/repository_datatable_helper.rb b/app/helpers/repository_datatable_helper.rb index f84d3e063..14505d311 100644 --- a/app/helpers/repository_datatable_helper.rb +++ b/app/helpers/repository_datatable_helper.rb @@ -21,7 +21,7 @@ module RepositoryDatatableHelper row = public_send(default_columns_method_name, record) row['code'] = record.code row['DT_RowId'] = record.id - row['DT_RowAttr'] = { 'data-state': row_style(record), 'data-e2e': "e2e-TR-invInventory-bodyRow-#{record.id}" } + row['DT_RowAttr'] = { 'data-state': row_style(record, options[:my_module]), 'data-e2e': "e2e-TR-invInventory-bodyRow-#{record.id}" } row['recordInfoUrl'] = Rails.application.routes.url_helpers.repository_repository_row_path(repository.id, record.id) row['rowRemindersUrl'] = Rails.application.routes.url_helpers .active_reminder_repository_cells_repository_repository_row_url(repository.id, record.id) @@ -108,7 +108,7 @@ module RepositoryDatatableHelper repository_rows.map do |record| row = { DT_RowId: record.id, - DT_RowAttr: { 'data-state': simple_row_style(record, my_module) }, + DT_RowAttr: { 'data-state': row_style(record, my_module) }, '0': escape_input(record.name), recordInfoUrl: Rails.application.routes.url_helpers.repository_repository_row_path(record.repository, record), rowRemindersUrl: @@ -175,12 +175,12 @@ module RepositoryDatatableHelper end end - def prepare_snapshot_row_columns(repository_rows, columns_mappings, team, repository_snapshot, options = {}) + def prepare_snapshot_row_columns(repository_rows, columns_mappings, team, repository_snapshot, my_module, options = {}) has_stock_management = repository_snapshot.has_stock_management? repository_rows.map do |record| row = { 'DT_RowId': record.id, - 'DT_RowAttr': { 'data-state': row_style(record) }, + 'DT_RowAttr': { 'data-state': row_style(record, my_module) }, '1': record.code, '2': escape_input(record.name), '3': I18n.l(record.created_at, format: :full), @@ -299,13 +299,7 @@ module RepositoryDatatableHelper ).serializable_hash end - def row_style(row) - return I18n.t('general.archived') if row.archived - - '' - end - - def simple_row_style(row, my_module) + def row_style(row, my_module) style = [] style << I18n.t('general.archived') if row.archived style << I18n.t('general.output') if row.output? && row.my_module.id == my_module&.id diff --git a/app/views/repository_rows/snapshot_index.json.jbuilder b/app/views/repository_rows/snapshot_index.json.jbuilder index 81329c7bb..0a7a3648d 100644 --- a/app/views/repository_rows/snapshot_index.json.jbuilder +++ b/app/views/repository_rows/snapshot_index.json.jbuilder @@ -5,7 +5,8 @@ json.data do json.array! prepare_snapshot_row_columns(@repository_rows, @columns_mappings, @repository_snapshot.team, - @repository_snapshot) + @repository_snapshot, + @my_module) end json.recordsFiltered @filtered_rows_count json.recordsTotal @all_rows_count