Skip to content

Commit edfe57e

Browse files
authored
NETOBSERV-662 UI Consistency: Dropdown labels (#240)
* actions labels * i18n
1 parent 1f9a438 commit edfe57e

File tree

4 files changed

+71
-38
lines changed

4 files changed

+71
-38
lines changed

web/locales/en/plugin__netobserv-plugin.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,8 @@
192192
"More options": "More options",
193193
"Display": "Display",
194194
"Actions": "Actions",
195+
"Time range": "Time range",
196+
"Refresh interval": "Refresh interval",
195197
"Collapse": "Collapse",
196198
"Expand": "Expand",
197199
"View": "View",

web/src/components/filters/filters-toolbar.tsx

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ export interface FiltersToolbarProps {
4646
id: string;
4747
filters?: Filter[];
4848
forcedFilters?: Filter[];
49-
actions?: React.ReactNode;
5049
skipTipsDelay?: boolean;
5150
setFilters: (v: Filter[]) => void;
5251
clearFilters: () => void;
@@ -61,7 +60,6 @@ export const FiltersToolbar: React.FC<FiltersToolbarProps> = ({
6160
id,
6261
filters,
6362
forcedFilters,
64-
actions,
6563
skipTipsDelay,
6664
setFilters,
6765
clearFilters,
@@ -290,11 +288,6 @@ export const FiltersToolbar: React.FC<FiltersToolbarProps> = ({
290288
</OverflowMenu>
291289
</ToolbarItem>
292290
)}
293-
{actions && (
294-
<ToolbarItem className="flex-start" alignment={{ default: 'alignRight' }}>
295-
{actions}
296-
</ToolbarItem>
297-
)}
298291
{getFiltersChips()}
299292
</ToolbarContent>
300293
</Toolbar>

web/src/components/netflow-traffic.css

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,14 @@
1111
height: 33px !important;
1212
}
1313

14+
.netobserv-refresh-interval-container {
15+
margin: 0 !important;
16+
}
17+
18+
.netobserv-refresh-container {
19+
align-self: end;
20+
}
21+
1422
span.pf-c-button__icon.pf-m-start {
1523
width: 14px;
1624
display: flex;
@@ -64,9 +72,17 @@ span.pf-c-button__icon.pf-m-start {
6472

6573
/* flex page header */
6674
#pageHeader {
67-
display: flex;
68-
flex-direction: row;
69-
padding: 1.5rem;
75+
padding: 1.5rem 1.5rem 0 1.5rem;
76+
}
77+
78+
#pageHeader>div {
79+
align-items: start;
80+
}
81+
82+
.netobserv-action-title {
83+
height: 2em;
84+
padding: 0 !important;
85+
margin: 0 !important;
7086
}
7187

7288
#page-content-flex {

web/src/components/netflow-traffic.tsx

Lines changed: 50 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -660,30 +660,50 @@ export const NetflowTraffic: React.FC<{
660660

661661
const actions = () => {
662662
return (
663-
<div className="co-actions">
664-
<TimeRangeDropdown
665-
data-test="time-range-dropdown"
666-
id="time-range-dropdown"
667-
range={range}
668-
setRange={setRange}
669-
openCustomModal={() => setTRModalOpen(true)}
670-
/>
671-
<RefreshDropdown
672-
data-test="refresh-dropdown"
673-
id="refresh-dropdown"
674-
disabled={typeof range !== 'number'}
675-
interval={interval}
676-
setInterval={setInterval}
677-
/>
678-
<Button
679-
data-test="refresh-button"
680-
id="refresh-button"
681-
className="co-action-refresh-button"
682-
variant="primary"
683-
onClick={() => tick()}
684-
icon={<SyncAltIcon style={{ animation: `spin ${loading ? 1 : 0}s linear infinite` }} />}
685-
/>
686-
</div>
663+
<Flex direction={{ default: 'row' }}>
664+
<FlexItem>
665+
<Flex direction={{ default: 'column' }}>
666+
<FlexItem className="netobserv-action-title">
667+
<Text component={TextVariants.h4}>{t('Time range')}</Text>
668+
</FlexItem>
669+
<FlexItem flex={{ default: 'flex_1' }}>
670+
<TimeRangeDropdown
671+
data-test="time-range-dropdown"
672+
id="time-range-dropdown"
673+
range={range}
674+
setRange={setRange}
675+
openCustomModal={() => setTRModalOpen(true)}
676+
/>
677+
</FlexItem>
678+
</Flex>
679+
</FlexItem>
680+
<FlexItem className="netobserv-refresh-interval-container">
681+
<Flex direction={{ default: 'column' }}>
682+
<FlexItem className="netobserv-action-title">
683+
<Text component={TextVariants.h4}>{t('Refresh interval')}</Text>
684+
</FlexItem>
685+
<FlexItem flex={{ default: 'flex_1' }}>
686+
<RefreshDropdown
687+
data-test="refresh-dropdown"
688+
id="refresh-dropdown"
689+
disabled={typeof range !== 'number'}
690+
interval={interval}
691+
setInterval={setInterval}
692+
/>
693+
</FlexItem>
694+
</Flex>
695+
</FlexItem>
696+
<FlexItem className="netobserv-refresh-container">
697+
<Button
698+
data-test="refresh-button"
699+
id="refresh-button"
700+
className="co-action-refresh-button"
701+
variant="primary"
702+
onClick={() => tick()}
703+
icon={<SyncAltIcon style={{ animation: `spin ${loading ? 1 : 0}s linear infinite` }} />}
704+
/>
705+
</FlexItem>
706+
</Flex>
687707
);
688708
};
689709

@@ -932,9 +952,12 @@ export const NetflowTraffic: React.FC<{
932952
//display title only if forced filters is not set
933953
_.isEmpty(forcedFilters) && (
934954
<div id="pageHeader">
935-
<div className="flex">
936-
<Text component={TextVariants.h1}>{t('Network Traffic')}</Text>
937-
</div>
955+
<Flex direction={{ default: 'row' }}>
956+
<FlexItem flex={{ default: 'flex_1' }}>
957+
<Text component={TextVariants.h1}>{t('Network Traffic')}</Text>
958+
</FlexItem>
959+
<FlexItem>{actions()}</FlexItem>
960+
</Flex>
938961
</div>
939962
)
940963
}
@@ -955,7 +978,6 @@ export const NetflowTraffic: React.FC<{
955978
useTopK: selectedViewId === 'overview'
956979
}}
957980
forcedFilters={forcedFilters}
958-
actions={actions()}
959981
quickFilters={getQuickFilters()}
960982
menuContent={filtersExtraContent()}
961983
menuControl={filtersExtraControl()}

0 commit comments

Comments
 (0)