Skip to content

Commit 38c3770

Browse files
authored
Merge pull request #169 from jpinsonneau/317
NETOBSERV-317 Netflow table: reduce row height / do not compute in px
2 parents 37cdab8 + b99b85f commit 38c3770

File tree

5 files changed

+32
-46
lines changed

5 files changed

+32
-46
lines changed

web/src/components/netflow-record/__tests__/record-field.spec.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,7 @@ describe('<RecordField />', () => {
1818
//datetime column will produce a single field
1919
const wrapper = shallow(<RecordField flow={FlowsSample[0]} column={DefaultColumns[0]} {...mocks} />);
2020
expect(wrapper.find(RecordField)).toBeTruthy();
21-
expect(wrapper.find('.record-field-content')).toHaveLength(1);
22-
expect(wrapper.find('.m')).toHaveLength(1);
21+
expect(wrapper.find('.record-field-content.m')).toHaveLength(1);
2322
});
2423
it('should filter', async () => {
2524
const wrapper = shallow(

web/src/components/netflow-record/record-field.css

Lines changed: 13 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
1-
/* fix ResourceLink inline not working */
2-
span.co-resource-item.co-resource-item--inline,
1+
/* force datetime to be singleline on small size*/
2+
.datetime.s {
3+
white-space: nowrap
4+
}
5+
36
/* max content lines to show */
4-
.record-field-content-flex,
5-
.record-field-content {
7+
.co-resource-item.s>.co-resource-item__resource-name,
8+
.co-resource-item.m>.co-resource-item__resource-name,
9+
.co-resource-item.l>.co-resource-item__resource-name {
610
overflow: hidden;
711
text-overflow: ellipsis;
812
display: -webkit-box;
@@ -11,9 +15,10 @@ span.co-resource-item.co-resource-item--inline,
1115
}
1216

1317
.record-field-flex-container {
18+
height: 100%;
1419
flex: 1;
1520
display: flex;
16-
gap: 5px;
21+
gap: .3rem;
1722
}
1823

1924
.record-field-flex {
@@ -28,21 +33,15 @@ span.co-resource-item.co-resource-item--inline,
2833
flex-basis: 0;
2934
}
3035

31-
span.co-resource-item.co-resource-item--inline.s,
32-
.record-field-content-flex.s,
33-
.record-field-content.s {
36+
.co-resource-item.s>.co-resource-item__resource-name {
3437
-webkit-line-clamp: 1;
3538
}
3639

37-
span.co-resource-item.co-resource-item--inline.m,
38-
.record-field-content-flex.m,
39-
.record-field-content.m {
40+
.co-resource-item.m>.co-resource-item__resource-name {
4041
-webkit-line-clamp: 2;
4142
}
4243

43-
span.co-resource-item.co-resource-item--inline.l,
44-
.record-field-content-flex.l,
45-
.record-field-content.l {
44+
.co-resource-item.l>.co-resource-item__resource-name {
4645
-webkit-line-clamp: 3;
4746
}
4847

@@ -52,18 +51,6 @@ span.co-resource-item.co-resource-item--inline.l,
5251
flex-direction: column;
5352
}
5453

55-
.record-field-flex-container.s {
56-
height: 42px;
57-
}
58-
59-
.record-field-flex-container.m {
60-
height: 84px;
61-
}
62-
63-
.record-field-flex-container.l {
64-
height: 126px;
65-
}
66-
6754
/* table tooltips - check pf-c-tooltip__content for values */
6855
.record-field-tooltip {
6956
display: flex;

web/src/components/netflow-record/record-field.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ export const RecordField: React.FC<{
110110
const timeText = date?.toLocaleTimeString() || emptyText();
111111
return singleContainer(
112112
<div>
113-
<div className="datetime">
113+
<div className={`datetime ${size}`}>
114114
<span>{dateText}</span> <span className="text-muted">{timeText}</span>
115115
</div>
116116
<div className="record-field-tooltip">{`${dateText} ${timeText}`}</div>

web/src/components/netflow-table/netflow-table.css

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,6 @@ div#table-container {
33
height: 100%;
44
}
55

6-
tr.empty-row.s {
7-
height: 59px;
8-
}
9-
10-
tr.empty-row.m {
11-
height: 101px;
12-
}
13-
14-
tr.empty-row.l {
15-
height: 143px;
6+
#table-container>.pf-c-table tbody>tr>* {
7+
vertical-align: top;
168
}

web/src/components/netflow-table/netflow-table.tsx

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import * as _ from 'lodash';
1717
import { Record } from '../../api/ipfix';
1818
import { NetflowTableHeader } from './netflow-table-header';
1919
import NetflowTableRow from './netflow-table-row';
20-
import { Column, ColumnsId } from '../../utils/columns';
20+
import { Column, ColumnsId, getCommonColumns } from '../../utils/columns';
2121
import { Size } from '../dropdowns/display-dropdown';
2222
import { usePrevious } from '../../utils/previous-hook';
2323
import './netflow-table.css';
@@ -75,18 +75,26 @@ const NetflowTable: React.FC<{
7575
}, [columns]);
7676

7777
//get row height from display size
78-
//these values match netflow-table.css and record-field.css
7978
const getRowHeight = React.useCallback(() => {
79+
const doubleSizeColumnIds = getCommonColumns(t).map(c => c.id);
80+
const containsDoubleLine = columns.find(c => doubleSizeColumnIds.includes(c.id)) !== undefined;
81+
82+
function convertRemToPixels(rem: number) {
83+
//get fontSize from document or fallback to 16 for jest
84+
return rem * (parseFloat(getComputedStyle(document.documentElement).fontSize) || 16);
85+
}
86+
8087
switch (size) {
8188
case 'l':
82-
return 143;
89+
return convertRemToPixels(containsDoubleLine ? 8 : 4.5);
8390
case 'm':
84-
return 101;
91+
return convertRemToPixels(containsDoubleLine ? 6 : 3.5);
8592
case 's':
8693
default:
87-
return 59;
94+
return convertRemToPixels(containsDoubleLine ? 4 : 2.5);
8895
}
89-
}, [size]);
96+
// eslint-disable-next-line react-hooks/exhaustive-deps
97+
}, [columns, size]);
9098

9199
//update table container height on window resize
92100
const handleResize = React.useCallback(() => {
@@ -160,7 +168,7 @@ const NetflowTable: React.FC<{
160168
tableWidth={width}
161169
/>
162170
) : (
163-
<tr className={`empty-row ${size}`} key={f.key} />
171+
<tr className={`empty-row`} style={{ height: rowHeight }} key={f.key} />
164172
)
165173
);
166174
}, [

0 commit comments

Comments
 (0)