diff --git a/app/assets/javascripts/sitewide/repository_row_card.js b/app/assets/javascripts/sitewide/repository_row_card.js index e5f8983d4..ef38a88ab 100644 --- a/app/assets/javascripts/sitewide/repository_row_card.js +++ b/app/assets/javascripts/sitewide/repository_row_card.js @@ -50,4 +50,20 @@ } }); }); + + $(document).on('click', '.export-consumption-button', function(e) { + const selectedRows = $(this).data('rows') || RepositoryDatatable.selectedRows(); + + e.preventDefault(); + + window.initExportStockConsumptionModal(); + + if (window.exportStockConsumptionModalComponent) { + window.exportStockConsumptionModalComponent.fetchRepositoryData( + selectedRows, + { repository_id: $(this).data('objectId') }, + ); + $('#modal-info-repository-row').modal('hide'); + } + }); }()); diff --git a/app/javascript/vue/repository_item_sidebar/RepositoryItemSidebar.vue b/app/javascript/vue/repository_item_sidebar/RepositoryItemSidebar.vue index 4731f8c9f..dddb1abe4 100644 --- a/app/javascript/vue/repository_item_sidebar/RepositoryItemSidebar.vue +++ b/app/javascript/vue/repository_item_sidebar/RepositoryItemSidebar.vue @@ -38,8 +38,8 @@
{{ i18n.t('repositories.item_card.default_columns.repository_name') }} - - {{ repositoryName }} + + {{ repository?.name }}
@@ -98,7 +98,7 @@
@@ -221,7 +221,7 @@ export default { return { currentItemUrl: null, dataLoading: false, - repositoryName: null, + repository: null, defaultColumns: null, customColumns: null, assignedModules: null, @@ -273,7 +273,7 @@ export default { dataType: 'json', success: (result) => { this.repositoryRowId = result.id - this.repositoryName = result.repository_name; + this.repository = result.repository; this.defaultColumns = result.default_columns; this.customColumns = result.custom_columns; this.dataLoading = false diff --git a/app/javascript/vue/repository_item_sidebar/repository_values/RepositoryStockValue.vue b/app/javascript/vue/repository_item_sidebar/repository_values/RepositoryStockValue.vue index 145ea51f1..dc8bafa3b 100644 --- a/app/javascript/vue/repository_item_sidebar/repository_values/RepositoryStockValue.vue +++ b/app/javascript/vue/repository_item_sidebar/repository_values/RepositoryStockValue.vue @@ -3,10 +3,11 @@
{{ colName }} {{ i18n.t('repositories.item_card.stock_export') }} @@ -35,6 +36,7 @@ export default { colId: Number, colName: String, colVal: Object, + repositoryId: Number, repositoryRowId: null, permissions: null }, @@ -42,21 +44,6 @@ export default { this.stock_formatted = this.colVal.stock_formatted this.stock_amount = this.colVal.stock_amount this.low_stock_threshold = this.colVal.low_stock_threshold - }, - methods: { - exportConsumptionCallback(event) { - $('#exportStockConsumptionModal') - .one('show.bs.modal', function() { - $('#exportStockConsumptionModal').attr( - 'data-rows', - $(event.target).attr('data-rows') - ); - }) - .one('hide.bs.modal', function() { - $('#exportStockConsumptionModal').attr('data-rows', null); - }) - .modal('show'); - } } } diff --git a/app/javascript/vue/repository_row/export_stock_consumption_modal.vue b/app/javascript/vue/repository_row/export_stock_consumption_modal.vue index edb9609df..0976f7f7e 100644 --- a/app/javascript/vue/repository_row/export_stock_consumption_modal.vue +++ b/app/javascript/vue/repository_row/export_stock_consumption_modal.vue @@ -14,7 +14,7 @@
diff --git a/app/views/repository_rows/show.json.jbuilder b/app/views/repository_rows/show.json.jbuilder index e6feb098d..554c1cac2 100644 --- a/app/views/repository_rows/show.json.jbuilder +++ b/app/views/repository_rows/show.json.jbuilder @@ -1,7 +1,12 @@ # frozen_string_literal: true json.id @repository_row.id -json.repository_name @repository.name + +json.repository do + json.id @repository.id + json.name @repository.name +end + json.permissions do json.can_export_repository_stock can_export_repository_stock?(@repository_row.repository) end