@@ -2,11 +2,15 @@ package org.digma.intellij.plugin.ui.list.insights
22
33import com.intellij.openapi.project.Project
44import com.intellij.ui.components.ActionLink
5+ import com.intellij.ui.components.JBPanel
56import com.intellij.util.ui.JBUI.Borders.empty
7+ import org.apache.commons.lang3.StringUtils
68import org.digma.intellij.plugin.document.CodeObjectsUtil
79import org.digma.intellij.plugin.model.rest.insights.SpanDurationBreakdown
810import org.digma.intellij.plugin.model.rest.insights.SpanDurationBreakdownInsight
9- import org.digma.intellij.plugin.ui.common.*
11+ import org.digma.intellij.plugin.ui.common.Laf
12+ import org.digma.intellij.plugin.ui.common.asHtml
13+ import org.digma.intellij.plugin.ui.common.boldFonts
1014import org.digma.intellij.plugin.ui.list.openWorkspaceFileForSpan
1115import org.digma.intellij.plugin.ui.panels.DigmaResettablePanel
1216import java.awt.BorderLayout
@@ -88,10 +92,9 @@ fun durationBreakdownRowPanel(
8892 val spanDisplayNameLabel = getSpanDisplayNameLabel(durationBreakdown, project, moreData)
8993 val breakdownDurationLabelPanel = getBreakdownDurationLabel(durationBreakdown)
9094
91- durationBreakdownPanel.add(telescopeIconLabel)
92- durationBreakdownPanel.add(spanDisplayNameLabel)
93- durationBreakdownPanel.add(Box .createHorizontalGlue())
94- durationBreakdownPanel.add(breakdownDurationLabelPanel)
95+ durationBreakdownPanel.add(telescopeIconLabel, BorderLayout .WEST )
96+ durationBreakdownPanel.add(spanDisplayNameLabel, BorderLayout .CENTER )
97+ durationBreakdownPanel.add(breakdownDurationLabelPanel, BorderLayout .EAST )
9598
9699 return durationBreakdownPanel
97100}
@@ -156,8 +159,8 @@ private fun updateDurationBreakdownPanel(durationBreakdownEntries: List<SpanDura
156159}
157160
158161private fun getDurationBreakdownPanel (): JPanel {
159- val durationBreakdownPanel = JPanel ()
160- durationBreakdownPanel.layout = BoxLayout (durationBreakdownPanel, BoxLayout . LINE_AXIS )
162+ val durationBreakdownPanel = JBPanel < JBPanel < * >> ()
163+ durationBreakdownPanel.layout = BorderLayout ( 5 , 0 )
161164 durationBreakdownPanel.border = empty()
162165 durationBreakdownPanel.isOpaque = false
163166 return durationBreakdownPanel
@@ -177,17 +180,16 @@ private fun getSpanDisplayNameLabel(
177180 moreData : HashMap <String , Any >,
178181): JComponent {
179182 val spanId = CodeObjectsUtil .createSpanId(durationBreakdown.spanInstrumentationLibrary, durationBreakdown.spanName)
180- val fullDisplayName = durationBreakdown.spanDisplayName
181- val limitedDisplayName = asHtml(takeOnlyFirstNCharactersFromString(fullDisplayName, 30 ))
183+ val trimmedDisplayName = StringUtils .normalizeSpace(durationBreakdown.spanDisplayName)
182184
183185 val messageLabel = if (moreData.contains(spanId)) {
184- ActionLink (limitedDisplayName ) {
186+ ActionLink (trimmedDisplayName ) {
185187 openWorkspaceFileForSpan(project, moreData, spanId)
186188 }
187189 } else {
188- JLabel (limitedDisplayName )
190+ JLabel (trimmedDisplayName )
189191 }
190- messageLabel.toolTipText = asHtml(fullDisplayName )
192+ messageLabel.toolTipText = asHtml(trimmedDisplayName )
191193 messageLabel.border = empty(0 , 5 , 5 , 0 )
192194 messageLabel.isOpaque = false
193195
@@ -233,11 +235,3 @@ private fun getTooltipForDurationLabel(breakdownEntry: SpanDurationBreakdown): S
233235 }
234236 return asHtml(tooltip)
235237}
236-
237- fun takeOnlyFirstNCharactersFromString (originalString : String , limit : Int ): String {
238- return if (originalString.length > limit) {
239- originalString.trim().take(30 ) + " ..."
240- } else {
241- originalString
242- }
243- }
0 commit comments