diff --git a/cypress/integration/deposit-admin.spec.js b/cypress/integration/deposit-admin.spec.js
--- a/cypress/integration/deposit-admin.spec.js
+++ b/cypress/integration/deposit-admin.spec.js
@@ -142,6 +142,10 @@
if (deposit.swhid !== null) {
cy.contains(deposit.swhid).should('be.visible');
cy.contains(deposit.swhid_context).should('be.visible');
+ // check SWHID link text formatting
+ cy.contains(deposit.swhid_context).then(elt => {
+ expect(elt[0].innerHTML).to.equal(deposit.swhid_context.replace(/;/g, ';
'));
+ });
}
});
});
diff --git a/cypress/integration/persistent-identifiers.spec.js b/cypress/integration/persistent-identifiers.spec.js
--- a/cypress/integration/persistent-identifiers.spec.js
+++ b/cypress/integration/persistent-identifiers.spec.js
@@ -117,7 +117,7 @@
.should('be.visible');
cy.get(`#swhid-tab-${td.objectType} .swhid`)
- .contains(td.objectSWHIDs[0])
+ .should('have.text', td.objectSWHIDs[0].replace(/;/g, ';\n'))
.should('have.attr', 'href', this.Urls.browse_swhid(td.objectSWHIDs[0]));
}
@@ -134,7 +134,7 @@
.click();
cy.get(`#swhid-tab-${td.objectType} .swhid`)
- .contains(td.objectSWHIDs[0])
+ .should('have.text', td.objectSWHIDs[0].replace(/;/g, ';\n'))
.should('have.attr', 'href', this.Urls.browse_swhid(td.objectSWHIDs[0]));
cy.get(`#swhid-tab-${td.objectType} .swhid-option`)
@@ -148,7 +148,7 @@
.click();
cy.get(`#swhid-tab-${td.objectType} .swhid`)
- .contains(td.objectSWHIDs[0])
+ .should('have.text', td.objectSWHIDs[0].replace(/;/g, ';\n'))
.should('have.attr', 'href', this.Urls.browse_swhid(td.objectSWHIDs[0]));
}
diff --git a/swh/web/assets/src/bundles/admin/deposit.js b/swh/web/assets/src/bundles/admin/deposit.js
--- a/swh/web/assets/src/bundles/admin/deposit.js
+++ b/swh/web/assets/src/bundles/admin/deposit.js
@@ -8,8 +8,9 @@
function genSwhLink(data, type) {
if (type === 'display') {
if (data && data.startsWith('swh')) {
- let browseUrl = Urls.browse_swhid(data);
- return `${data}`;
+ const browseUrl = Urls.browse_swhid(data);
+ const formattedSWHID = data.replace(/;/g, ';
');
+ return `${formattedSWHID}`;
}
}
return data;
diff --git a/swh/web/assets/src/bundles/browse/swhid-utils.js b/swh/web/assets/src/bundles/browse/swhid-utils.js
--- a/swh/web/assets/src/bundles/browse/swhid-utils.js
+++ b/swh/web/assets/src/bundles/browse/swhid-utils.js
@@ -23,8 +23,8 @@
let swhIdWithContextUrl = $(event.target).data('swhid-with-context-url');
let currentSwhId = swhIdElt.text();
if ($(event.target).prop('checked')) {
- currentSwhId = swhIdWithContext;
swhIdElt.attr('href', swhIdWithContextUrl);
+ currentSwhId = swhIdWithContext.replace(/;/g, ';\n');
} else {
const pos = currentSwhId.indexOf(';');
if (pos !== -1) {
@@ -39,7 +39,7 @@
function addLinesInfo() {
let swhIdElt = $('#swhid-tab-content').find('.swhid');
- let currentSwhId = swhIdElt.text();
+ let currentSwhId = swhIdElt.text().replace(/;\n/g, ';');
let lines = [];
let linesPart = ';lines=';
let linesRegexp = new RegExp(/L(\d+)/g);
@@ -61,7 +61,7 @@
currentSwhId += linesPart;
}
- swhIdElt.text(currentSwhId);
+ swhIdElt.text(currentSwhId.replace(/;/g, ';\n'));
swhIdElt.attr('href', '/' + currentSwhId + '/');
}
}
@@ -70,7 +70,7 @@
new ClipboardJS('.btn-swhid-copy', {
text: trigger => {
let swhId = $(trigger).closest('.swhid-ui').find('.swhid').text();
- return swhId;
+ return swhId.replace(/;\n/g, ';');
}
});