diff --git a/app/assets/javascripts/repositories/stock.js b/app/assets/javascripts/repositories/stock.js index 5bdc1d73e..e8b6fc595 100644 --- a/app/assets/javascripts/repositories/stock.js +++ b/app/assets/javascripts/repositories/stock.js @@ -41,6 +41,9 @@ var RepositoryStockValues = (function() { let amountChanged = false; $('.repository-show').on('click', '.manage-repository-stock-value-link', function() { + let colIndex = this.parentNode.cellIndex; + let rowIndex = this.parentNode.parentNode.rowIndex; + $.ajax({ url: $(this).closest('tr').data('manage-stock-url'), type: 'GET', @@ -73,10 +76,13 @@ var RepositoryStockValues = (function() { .dropdown-selector-container .search-field `).attr('tabindex', 2); - $manageModal.find('form').on('ajax:success', function() { - var dataTable = $('.dataTable').DataTable(); + $manageModal.find('form').on('ajax:success', function(_, data) { $manageModal.modal('hide'); - dataTable.ajax.reload(null, false); + $('.dataTable').find( + `tr:nth-child(${rowIndex}) td:nth-child(${colIndex + 1})` + ).html( + $.fn.dataTable.render.RepositoryStockValue(data) + ); }); $('.stock-operator-option').click(function() { diff --git a/app/controllers/repository_stock_values_controller.rb b/app/controllers/repository_stock_values_controller.rb index ddc8ebc07..1659cdd7d 100644 --- a/app/controllers/repository_stock_values_controller.rb +++ b/app/controllers/repository_stock_values_controller.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true class RepositoryStockValuesController < ApplicationController + include RepositoryDatatableHelper # for use of display_cell_value method on stock update + before_action :load_vars before_action :check_manage_permissions @@ -45,7 +47,10 @@ class RepositoryStockValuesController < ApplicationController ) end - render json: @repository_stock_value + render json: { + stock_managable: true, + stock_status: @repository_stock_value.status + }.merge(display_cell_value(@repository_stock_value.repository_cell, current_team, @repository)) end private