diff --git a/app/assets/javascripts/repositories/renderers/columns/checklist.js b/app/assets/javascripts/repositories/renderers/columns/checklist.js
index aee9c6deb..58b798d04 100644
--- a/app/assets/javascripts/repositories/renderers/columns/checklist.js
+++ b/app/assets/javascripts/repositories/renderers/columns/checklist.js
@@ -38,7 +38,7 @@ var ChecklistColumnHelper = (function() {
}
function initialChecklistEditMode(formId, columnId, cell, values) {
- var select = 'checklist-' + columnId;
+ var select = `checklist-${columnId}-${cell.parent()[0].id}`;
var checklistUrl = $('.repository-column#' + columnId).data('items-url');
var $select = checklistSelect(select, checklistUrl, values);
var $hiddenField = checklistHiddenField(formId, columnId, values);
diff --git a/app/assets/javascripts/repositories/renderers/columns/list.js b/app/assets/javascripts/repositories/renderers/columns/list.js
index 17dfc3595..431a90c09 100644
--- a/app/assets/javascripts/repositories/renderers/columns/list.js
+++ b/app/assets/javascripts/repositories/renderers/columns/list.js
@@ -4,7 +4,7 @@
var ListColumnHelper = (function() {
function listSelect(select, url, value) {
var selectedOption = '';
- var selectObject = $(``);
@@ -26,7 +26,7 @@ var ListColumnHelper = (function() {
}
function initialListEditMode(formId, columnId, cell, value = null) {
- var select = 'list-' + columnId;
+ var select = `list-${columnId}-${cell.parent()[0].id}`;
var listUrl = $('.repository-column#' + columnId).data('items-url');
var $select = listSelect(select, listUrl, value);
var $hiddenField = listHiddenField(formId, columnId, value);
diff --git a/app/assets/javascripts/repositories/renderers/columns/status.js b/app/assets/javascripts/repositories/renderers/columns/status.js
index 4a2c6bcf2..1b1b23f19 100644
--- a/app/assets/javascripts/repositories/renderers/columns/status.js
+++ b/app/assets/javascripts/repositories/renderers/columns/status.js
@@ -4,7 +4,7 @@
var StatusColumnHelper = (function() {
function statusSelect(select, url, value) {
var selectedOption = '';
- var selectObject = $(``);
@@ -26,7 +26,7 @@ var StatusColumnHelper = (function() {
}
function initialStatusEditMode(formId, columnId, cell, value = null) {
- var select = 'status-list-' + columnId;
+ var select = `status-list-${columnId}-${cell.parent()[0].id}`;
var listUrl = $('.repository-column#' + columnId).data('items-url');
var $select = statusSelect(select, listUrl, value);
var $hiddenField = statusHiddenField(formId, columnId, value);
diff --git a/app/assets/javascripts/repositories/repository_datatable.js b/app/assets/javascripts/repositories/repository_datatable.js
index 599b502c1..107511ecd 100644
--- a/app/assets/javascripts/repositories/repository_datatable.js
+++ b/app/assets/javascripts/repositories/repository_datatable.js
@@ -71,11 +71,7 @@ var RepositoryDatatable = (function(global) {
$('#editDeleteCopy').hide();
$('#toolbarPrintLabel').hide();
} else {
- if (rowsSelected.length === 1) {
- $('#editRepositoryRecord').prop('disabled', false);
- } else {
- $('#editRepositoryRecord').prop('disabled', true);
- }
+ $('#editRepositoryRecord').prop('disabled', false);
$('#exportRepositoriesButton').removeClass('disabled');
$('#archiveRepositoryRecordsButton').prop('disabled', false);
$('#copyRepositoryRecords').prop('disabled', false);
@@ -142,10 +138,8 @@ var RepositoryDatatable = (function(global) {
function changeToEditMode() {
currentMode = 'editMode';
- // Table specific stuff
- TABLE.button(0).enable(false);
+
clearRowSelection();
- $(TABLE_WRAPPER_ID).find('tr:not(.editing)').addClass('blocked');
updateButtons();
}
@@ -262,9 +256,8 @@ var RepositoryDatatable = (function(global) {
checkAvailableColumns();
- $(TABLE_ID).find('.repository-row-edit-icon').remove();
-
RepositoryDatatableRowEditor.switchRowToEditMode(row);
+
changeToEditMode();
});
}
@@ -542,6 +535,17 @@ var RepositoryDatatable = (function(global) {
$('#repository-table_info').append('');
$('#selected_info').html(' (' + rowsSelected.length + ' entries selected)');
checkArchivedColumnsState();
+
+ // Hide edit button if not all selected rows are on the current page
+ let visibleRowIds = $(
+ `#repository-table-${$(TABLE_ID).data('repository-id')} tbody tr`
+ ).toArray().map((r) => parseInt(r.id, 10));
+
+ if (rowsSelected.every(r => visibleRowIds.includes(r))) {
+ $('#editRepositoryRecord').show();
+ } else {
+ $('#editRepositoryRecord').hide();
+ }
},
preDrawCallback: function() {
var archived = $('.repository-show').hasClass('archived');
@@ -769,15 +773,12 @@ var RepositoryDatatable = (function(global) {
.on('click', '#editRepositoryRecord', function() {
checkAvailableColumns();
- if (rowsSelected.length !== 1) {
- return;
- }
-
- let row = TABLE.row('#' + rowsSelected[0]);
-
$(TABLE_ID).find('.repository-row-edit-icon').remove();
- RepositoryDatatableRowEditor.switchRowToEditMode(row);
+ rowsSelected.forEach(function(rowNumber) {
+ RepositoryDatatableRowEditor.switchRowToEditMode(TABLE.row('#' + rowNumber));
+ });
+
changeToEditMode();
adjustTableHeader();
})
diff --git a/app/assets/javascripts/sitewide/atwho_res.js b/app/assets/javascripts/sitewide/atwho_res.js
index 327720b26..0823a0baf 100644
--- a/app/assets/javascripts/sitewide/atwho_res.js
+++ b/app/assets/javascripts/sitewide/atwho_res.js
@@ -39,7 +39,6 @@ var SmartAnnotation = (function() {
function generateFilterMenu() {
var menu = '';
$.ajax({
- async: false,
dataType: 'json',
url: $(document.body).attr('data-atwho-repositories-url'),
success: function(data) {
diff --git a/app/assets/stylesheets/repository/repository_table.scss b/app/assets/stylesheets/repository/repository_table.scss
index e9ad2ee83..2d589e5ca 100644
--- a/app/assets/stylesheets/repository/repository_table.scss
+++ b/app/assets/stylesheets/repository/repository_table.scss
@@ -345,6 +345,13 @@
opacity: 1;
}
}
+
+ &.editing {
+ .assigned-column .repository-row-edit-icon {
+ opacity: 0;
+ pointer-events: none;
+ }
+ }
}
.editing {
@@ -363,10 +370,6 @@
tr:hover {
.assigned-column {
- .repository-row-edit-icon {
- opacity: 0;
- }
-
.assign-counter-container {
background-color: transparent;
}
diff --git a/app/views/repositories/toolbar/_row_actions.html.erb b/app/views/repositories/toolbar/_row_actions.html.erb
index b1542b8ee..287fda4d4 100644
--- a/app/views/repositories/toolbar/_row_actions.html.erb
+++ b/app/views/repositories/toolbar/_row_actions.html.erb
@@ -3,7 +3,7 @@
<%if can_update_repository_rows?(@repository) %>
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 8dd1f51ea..9a787d298 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -1699,7 +1699,7 @@ en:
create:
success_flash: "Successfully added item %{record} to inventory %{repository}"
update:
- success_flash: "Successfully updated item %{record} in inventory %{repository}"
+ success_flash: "Inventory items were successfully updated."
destroy:
success_flash: "%{records_number} item(s) successfully deleted."
contains_other_records_flash: "%{records_number} item(s) successfully deleted. %{other_records_number} of the selected item(s) were created by other users and were not deleted."