@@ -2,19 +2,18 @@ import React from 'react';
2
2
import { data } from '../examples/realTestData' ;
3
3
import { LogViewer , LogViewerSearch } from '@patternfly/react-log-viewer' ;
4
4
import {
5
- Badge ,
6
- Button ,
7
- Tooltip ,
8
- Toolbar ,
9
- ToolbarContent ,
10
- ToolbarGroup ,
11
- ToolbarItem ,
12
- ToolbarToggleGroup
5
+ Badge ,
6
+ Button ,
7
+ MenuToggle ,
8
+ Select ,
9
+ SelectOption ,
10
+ Tooltip ,
11
+ Toolbar ,
12
+ ToolbarContent ,
13
+ ToolbarGroup ,
14
+ ToolbarItem ,
15
+ ToolbarToggleGroup
13
16
} from '@patternfly/react-core' ;
14
- import {
15
- Select as SelectDeprecated ,
16
- SelectOption as SelectOptionDeprecated
17
- } from '@patternfly/react-core/deprecated' ;
18
17
import OutlinedPlayCircleIcon from '@patternfly/react-icons/dist/esm/icons/outlined-play-circle-icon' ;
19
18
import ExpandIcon from '@patternfly/react-icons/dist/esm/icons/expand-icon' ;
20
19
import PauseIcon from '@patternfly/react-icons/dist/esm/icons/pause-icon' ;
@@ -44,7 +43,7 @@ const ComplexToolbarLogViewer = () => {
44
43
React . useEffect ( ( ) => {
45
44
setTimer (
46
45
window . setInterval ( ( ) => {
47
- setItemCount ( itemCount => itemCount + 1 ) ;
46
+ setItemCount ( ( itemCount ) => itemCount + 1 ) ;
48
47
} , 500 )
49
48
) ;
50
49
return ( ) => {
@@ -74,7 +73,7 @@ const ComplexToolbarLogViewer = () => {
74
73
}
75
74
} , [ isPaused , buffer ] ) ;
76
75
77
- const onExpandClick = _event => {
76
+ const onExpandClick = ( _event ) => {
78
77
const element = document . querySelector ( '#complex-toolbar-demo' ) ;
79
78
80
79
if ( ! isFullScreen ) {
@@ -111,6 +110,10 @@ const ComplexToolbarLogViewer = () => {
111
110
document . body . removeChild ( element ) ;
112
111
} ;
113
112
113
+ const onToggleClick = ( ) => {
114
+ setSelectDataSourceOpen ( ! selectDataSourceOpen ) ;
115
+ } ;
116
+
114
117
const onScroll = ( { scrollOffsetToBottom, _scrollDirection, scrollUpdateWasRequested } ) => {
115
118
if ( ! scrollUpdateWasRequested ) {
116
119
if ( scrollOffsetToBottom > 0 ) {
@@ -122,15 +125,15 @@ const ComplexToolbarLogViewer = () => {
122
125
} ;
123
126
124
127
const selectDataSourceMenu = Object . entries ( dataSources ) . map ( ( [ value , { type } ] ) => (
125
- < SelectOptionDeprecated
128
+ < SelectOption
126
129
key = { value }
127
130
value = { value }
128
131
isSelected = { selectedDataSource === value }
129
132
isChecked = { selectedDataSource === value }
130
133
>
131
134
< Badge key = { value } > { type } </ Badge >
132
135
{ ` ${ value } ` }
133
- </ SelectOptionDeprecated >
136
+ </ SelectOption >
134
137
) ) ;
135
138
136
139
const selectDataSourcePlaceholder = (
@@ -141,23 +144,30 @@ const ComplexToolbarLogViewer = () => {
141
144
) ;
142
145
143
146
const ControlButton = ( ) => (
144
- < Button
145
- variant = { isPaused ? 'plain' : 'link' }
146
- onClick = { ( ) => {
147
- setIsPaused ( ! isPaused ) ;
148
- } }
149
- >
150
- { isPaused ? < PlayIcon /> : < PauseIcon /> }
151
- { isPaused ? ` Resume Log` : ` Pause Log` }
152
- </ Button >
153
- ) ;
154
-
147
+ < Button
148
+ variant = { isPaused ? 'plain' : 'link' }
149
+ onClick = { ( ) => {
150
+ setIsPaused ( ! isPaused ) ;
151
+ } }
152
+ >
153
+ { isPaused ? < PlayIcon /> : < PauseIcon /> }
154
+ { isPaused ? ` Resume Log` : ` Pause Log` }
155
+ </ Button >
156
+ ) ;
157
+
158
+ const toggle = ( toggleRef ) => (
159
+ < MenuToggle ref = { toggleRef } onClick = { onToggleClick } isExpanded = { selectDataSourceOpen } >
160
+ { selectDataSourcePlaceholder }
161
+ </ MenuToggle >
162
+ ) ;
163
+
155
164
const leftAlignedToolbarGroup = (
156
165
< React . Fragment >
157
166
< ToolbarToggleGroup toggleIcon = { < EllipsisVIcon /> } breakpoint = "md" >
158
167
< ToolbarItem variant = "search-filter" >
159
- < SelectDeprecated
160
- onToggle = { ( _event , isOpen ) => setSelectDataSourceOpen ( isOpen ) }
168
+ < Select
169
+ toggle = { toggle }
170
+ onOpenChange = { ( isOpen ) => setSelectDataSourceOpen ( isOpen ) }
161
171
onSelect = { ( event , selection ) => {
162
172
setSelectDataSourceOpen ( false ) ;
163
173
setSelectedDataSource ( selection ) ;
@@ -172,10 +182,10 @@ const ComplexToolbarLogViewer = () => {
172
182
placeholderText = { selectDataSourcePlaceholder }
173
183
>
174
184
{ selectDataSourceMenu }
175
- </ SelectDeprecated >
185
+ </ Select >
176
186
</ ToolbarItem >
177
187
< ToolbarItem variant = "search-filter" >
178
- < LogViewerSearch onFocus = { _e => setIsPaused ( true ) } placeholder = "Search" />
188
+ < LogViewerSearch onFocus = { ( _e ) => setIsPaused ( true ) } placeholder = "Search" />
179
189
</ ToolbarItem >
180
190
</ ToolbarToggleGroup >
181
191
< ToolbarItem >
@@ -206,7 +216,7 @@ const ComplexToolbarLogViewer = () => {
206
216
) ;
207
217
208
218
const FooterButton = ( ) => {
209
- const handleClick = _e => {
219
+ const handleClick = ( _e ) => {
210
220
setIsPaused ( false ) ;
211
221
} ;
212
222
return (
@@ -238,4 +248,4 @@ const ComplexToolbarLogViewer = () => {
238
248
) ;
239
249
} ;
240
250
241
- export default ComplexToolbarLogViewer ;
251
+ export default ComplexToolbarLogViewer ;
0 commit comments