Merge pull request #3588 from singhakshita/hyperlink-issue-tests
fixed href tag creation for URLs in cell text, fixes #2519
This commit is contained in:
commit
79aa260442
@ -0,0 +1,23 @@
|
|||||||
|
describe(__filename, function () {
|
||||||
|
it('verify <a>href tags created for URLs within cell text', function () {
|
||||||
|
const fixture = [
|
||||||
|
['tests'],
|
||||||
|
['2021-01-31https://www.google.com'],
|
||||||
|
[
|
||||||
|
'https://www.wikidata.org/wiki/Property:P670 https://www.wikidata.org/wiki/Property:P669 are now mapped to https://schema.org/streetAddress via https://www.wikidata.org/wiki/Property:P2235',
|
||||||
|
],
|
||||||
|
['vhjhjjj https://github.com/OpenRefine/OpenRefine/issues/2519'],
|
||||||
|
]
|
||||||
|
cy.loadAndVisitProject(fixture)
|
||||||
|
|
||||||
|
cy.getCell(0, 'tests').contains('2021-01-31https://www.google.com')
|
||||||
|
cy.getCell(1, 'tests')
|
||||||
|
.children('div')
|
||||||
|
.children('a')
|
||||||
|
.should('have.attr', 'href')
|
||||||
|
cy.getCell(2, 'tests')
|
||||||
|
.children('div')
|
||||||
|
.children('a')
|
||||||
|
.should('have.attr', 'href')
|
||||||
|
})
|
||||||
|
})
|
1607
main/tests/cypress/package-lock.json
generated
Normal file
1607
main/tests/cypress/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -96,17 +96,40 @@ DataTableCellUI.prototype._render = function() {
|
|||||||
nonstringSpan.className = 'data-table-value-nonstring';
|
nonstringSpan.className = 'data-table-value-nonstring';
|
||||||
nonstringSpan.textContent = cell.v;
|
nonstringSpan.textContent = cell.v;
|
||||||
divContent.appendChild(nonstringSpan);
|
divContent.appendChild(nonstringSpan);
|
||||||
} else if (URL.looksLikeUrl(cell.v)) {
|
}
|
||||||
|
else{
|
||||||
|
var arr = cell.v.split(" ");
|
||||||
|
var spanArr =[];
|
||||||
|
for( var i=0;i<arr.length;i++){
|
||||||
|
if(URL.looksLikeUrl(arr[i])){
|
||||||
|
if(spanArr.length !=0 ){
|
||||||
|
var span = document.createElement('span');
|
||||||
|
span.textContent = spanArr.join(" ");
|
||||||
|
divContent.appendChild(span).appendChild(document.createTextNode('\u00A0'));
|
||||||
|
spanArr = [];
|
||||||
|
}
|
||||||
var url = document.createElement('a');
|
var url = document.createElement('a');
|
||||||
url.textContent = cell.v;
|
url.textContent = arr[i];
|
||||||
url.setAttribute('href', cell.v);
|
url.setAttribute('href', arr[i]);
|
||||||
url.setAttribute('target', '_blank');
|
url.setAttribute('target', '_blank');
|
||||||
divContent.appendChild(url);
|
divContent.appendChild(url);
|
||||||
} else {
|
if( i== arr.length-1){
|
||||||
|
divContent.appendChild(url)
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
divContent.appendChild(url).appendChild(document.createTextNode('\u00A0'));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
spanArr.push(arr[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(spanArr.length !=0){
|
||||||
var span = document.createElement('span');
|
var span = document.createElement('span');
|
||||||
span.textContent = cell.v;
|
span.textContent = spanArr.join(" ");
|
||||||
divContent.appendChild(span);
|
divContent.appendChild(span);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
var divContentRecon = $(divContent);
|
var divContentRecon = $(divContent);
|
||||||
var r = cell.r;
|
var r = cell.r;
|
||||||
|
Loading…
Reference in New Issue
Block a user