diff --git a/dataRender/ellipsis.js b/dataRender/ellipsis.js index 186e9e56..f56ee4b2 100644 --- a/dataRender/ellipsis.js +++ b/dataRender/ellipsis.js @@ -47,43 +47,59 @@ * } ); */ -jQuery.fn.dataTable.render.ellipsis = function ( cutoff, wordbreak, escapeHtml ) { - var esc = function ( t ) { - return t - .replace( /&/g, '&' ) - .replace( //g, '>' ) - .replace( /"/g, '"' ); - }; +jQuery.fn.dataTable.render.ellipsis = function ( cutoff, maxLength, wordbreak, escapeHtml ) { + var esc = function ( t ) { + return t + .replace( /&/g, '&' ) + .replace( //g, '>' ) + .replace( /"/g, '"' ); + }; - return function ( d, type, row ) { - // Order, search and type get the original data - if ( type !== 'display' ) { - return d; - } + return function ( d, type, row ) { + // Order, search and type get the original data + if ( type !== 'display' ) { + return d; + } + + if ( typeof d !== 'number' && typeof d !== 'string' ) { + return d; + } + + d = d.toString(); // cast numbers + + if ( d.length <= maxLength) { + return d; + } + var shortened = d.substr(0, cutoff-1); + + // Find the last white space character in the string + if ( wordbreak ) { + shortened = shortened.replace(/\s([^\s]*)$/, ''); + } + var remainder = d.substr(shortened.length); + // Protect against uncontrolled HTML input + if ( escapeHtml ) { + shortened = esc( shortened ); + remainder = esc(remainder); + } - if ( typeof d !== 'number' && typeof d !== 'string' ) { - return d; - } - - d = d.toString(); // cast numbers - - if ( d.length <= cutoff ) { - return d; - } - - var shortened = d.substr(0, cutoff-1); - - // Find the last white space character in the string - if ( wordbreak ) { - shortened = shortened.replace(/\s([^\s]*)$/, ''); - } + return '' + + shortened + + ' …more' + + remainder + ''; + }; +}; - // Protect against uncontrolled HTML input - if ( escapeHtml ) { - shortened = esc( shortened ); - } - return ''+shortened+'…'; - }; -}; +// eslint-disable-next-line no-unused-vars +function toggleVisibility(thisElement){ + if(thisElement.innerText === " …more") { + thisElement.style = "font-style: inherit"; + thisElement.innerText = thisElement.nextSibling.innerText; + } + else { + thisElement.innerText = " …more"; + thisElement.style = "font-style: italic"; + } +}