mirror of
				https://github.com/node-red/node-red.git
				synced 2025-03-01 10:36:34 +00:00 
			
		
		
		
	Replace the CSS solution with a coded one for the msg string
This commit is contained in:
		| @@ -128,10 +128,22 @@ RED.utils = (function() { | ||||
|     function formatString(str) { | ||||
|         return str.replace(/\r?\n/g,"↵").replace(/\t/g,"→"); | ||||
|     } | ||||
|  | ||||
|     function sanitize(m) { | ||||
|         return m.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">"); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * Truncates a string to a specified maximum length, adding ellipsis if truncated. | ||||
|      * | ||||
|      * @param {string} str - The string to be truncated. | ||||
|      * @param {number} maxLength - The maximum length of the truncated string. Default `120`. | ||||
|      * @returns {string} The truncated string with ellipsis if it exceeds the maximum length. | ||||
|      */ | ||||
|     function truncateString(str, maxLength = 120) { | ||||
|         return str.length > maxLength ? str.slice(0, maxLength) + "..." : str; | ||||
|     } | ||||
|  | ||||
|     function buildMessageSummaryValue(value) { | ||||
|         var result; | ||||
|         if (Array.isArray(value)) { | ||||
| @@ -376,6 +388,9 @@ RED.utils = (function() { | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     // Max string length before truncating | ||||
|     const MAX_STRING_LENGTH = 80; | ||||
|  | ||||
|     /** | ||||
|      * Create a DOM element representation of obj - as used by Debug sidebar etc | ||||
|      * | ||||
| @@ -469,7 +484,7 @@ RED.utils = (function() { | ||||
|         } else if (typeHint === "internal" || (obj.__enc__ && obj.type === 'internal')) { | ||||
|             e = $('<span class="red-ui-debug-msg-type-meta red-ui-debug-msg-object-header"></span>').text("[internal]").appendTo(entryObj); | ||||
|         } else if (typeof obj === 'string') { | ||||
|             if (/[\t\n\r]/.test(obj)) { | ||||
|             if (/[\t\n\r]/.test(obj) || obj.length > MAX_STRING_LENGTH) { | ||||
|                 element.addClass('collapsed'); | ||||
|                 $('<i class="fa fa-caret-right red-ui-debug-msg-object-handle"></i> ').prependTo(header); | ||||
|                 makeExpandable(header, function() { | ||||
| @@ -478,7 +493,7 @@ RED.utils = (function() { | ||||
|                     $('<pre class="red-ui-debug-msg-type-string"></pre>').text(obj).appendTo(row); | ||||
|                 },function(state) {if (ontoggle) { ontoggle(path,state);}}, checkExpanded(strippedKey,expandPaths)); | ||||
|             } | ||||
|             e = $('<span class="red-ui-debug-msg-type-string red-ui-debug-msg-object-header"></span>').html('"'+formatString(sanitize(obj))+'"').appendTo(entryObj); | ||||
|             e = $('<span class="red-ui-debug-msg-type-string red-ui-debug-msg-object-header"></span>').html('"'+formatString(sanitize(truncateString(obj, MAX_STRING_LENGTH)))+'"').appendTo(entryObj); | ||||
|             if (/^#[0-9a-f]{6}$/i.test(obj)) { | ||||
|                 $('<span class="red-ui-debug-msg-type-string-swatch"></span>').css('backgroundColor',obj).appendTo(e); | ||||
|             } | ||||
| @@ -1503,6 +1518,7 @@ RED.utils = (function() { | ||||
|         parseContextKey: parseContextKey, | ||||
|         createIconElement: createIconElement, | ||||
|         sanitize: sanitize, | ||||
|         truncateString: truncateString, | ||||
|         renderMarkdown: renderMarkdown, | ||||
|         createNodeIcon: createNodeIcon, | ||||
|         getDarkerColor: getDarkerColor, | ||||
|   | ||||
| @@ -237,10 +237,7 @@ | ||||
| .red-ui-debug-msg-type-number-toggle { cursor: pointer;} | ||||
|  | ||||
| .red-ui-debug-msg-type-string { | ||||
|     display: block; | ||||
|     overflow: hidden; | ||||
|     white-space: nowrap; | ||||
|     text-overflow: ellipsis; | ||||
|     white-space: pre-wrap; | ||||
| } | ||||
|  | ||||
| .red-ui-debug-msg-row { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user