- Fixed DataTable row selection and event handling - Added explicit column keys to prevent auto-generated keys - Implemented row-to-flow mapping for reliable selection tracking - Converted left metrics panel to horizontal top bar - Fixed all missing FlowStats/EnhancedAnalysisData attributes - Created comprehensive Textual API documentation in Documentation/textual/ - Added validation checklist to prevent future API mismatches - Preserved cursor position during data refreshes - Fixed RowKey type handling and event names The TUI now properly handles flow selection, displays metrics in a compact top bar, and correctly correlates selected rows with the details pane.
2.6 KiB
2.6 KiB
Column Alignment Validation
Expected Column Alignment
The following shows the exact character positions for column alignment:
Position: 123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
Header: # Source Proto Destination Extended Frame Type Pkts Volume Timing Quality
Flow: 1 192.168.4.89:1024 UDP 239.1.2.10:8080 3 types Mixed 1452 1.9MB 77.8ms Enhanced
Sub-row: CH10 CH10-Data 1110 1.44MB 102ms 76.4%
Sub-row: CH10 TMATS 114 148KB 990ms 7.8%
Sub-row: UDP 228 296KB 493ms 15.7%
Right-Aligned Column Validation
The following columns should align on their right edges:
- Pkts: Right edge at position 77
- Volume: Right edge at position 85
- Timing: Right edge at position 93
- Quality: Right edge at position 101
Example with proper right alignment:
Pkts Column (6 chars, right-aligned):
1452
1110
114
228
Volume Column (8 chars, right-aligned):
1.9MB
1.44MB
148KB
296KB
Timing Column (8 chars, right-aligned):
77.8ms
102ms
990ms
493ms
Quality Column (8 chars, right-aligned):
Enhanced
76.4%
7.8%
15.7%
Column Specifications
- Flow Number: Positions 1-3 (right-aligned in 2 chars + 1 space)
- Source: Positions 4-23 (20 characters, left-aligned)
- Proto: Positions 24-29 (6 characters, left-aligned)
- Destination: Positions 30-49 (20 characters, left-aligned)
- Extended: Positions 50-59 (10 characters, left-aligned)
- Frame Type: Positions 60-71 (12 characters, left-aligned)
- Pkts: Positions 72-77 (6 characters, right-aligned)
- Volume: Positions 78-85 (8 characters, right-aligned)
- Timing: Positions 86-93 (8 characters, right-aligned)
- Quality: Positions 94-101 (8 characters, right-aligned)
Sub-Row Alignment
Sub-rows use:
- Positions 1-3: Empty spaces (matching flow number space)
- Positions 4-23: Empty (inherits source from main flow)
- Positions 24-29: Empty (inherits protocol from main flow)
- Positions 30-49: Empty (inherits destination from main flow)
- Positions 50-59: Extended protocol
- Positions 60-71: Frame type
- Positions 72-77: Packet count (right-aligned)
- Positions 78-85: Volume (right-aligned)
- Positions 86-93: Timing (right-aligned)
- Positions 94-101: Percentage (right-aligned)
This ensures perfect column alignment between main flow lines and their sub-rows.