@@ -54,7 +54,6 @@ const Dashboard = () => {
5454 const [ dashboards , setDashboards ] = useState ( [ ] ) ;
5555 const [ filteredDashboards , setFilteredDashboards ] = useState ( [ ] ) ;
5656 const [ selectedDashboard , setSelectedDashboard ] = useState ( ) ;
57- const [ isDashboardOpen , setIsDashboardOpen ] = useState ( false ) ;
5857 const [ isNewDBOpen , setIsNewDBOpen ] = useState ( false ) ;
5958 const [ isDeleteDBOpen , setIsDeleteDBOpen ] = useState ( false ) ;
6059
@@ -75,12 +74,12 @@ const Dashboard = () => {
7574 const selectInputRef = useRef ( ) ;
7675 const [ loadKey , setLoadKey ] = useState ( nanoid ( 6 ) ) ;
7776
78- const onDeleteWidgetClick = ( id ) => {
77+ const onDeleteWidgetClick = useCallback ( ( id ) => {
7978 setIsDeleteWidgetOpen ( true ) ;
8079 setCurrentWidget ( id ) ;
81- } ;
80+ } , [ ] ) ;
8281
83- const onEditWidgetClick = ( id ) => {
82+ const onEditWidgetClick = useCallback ( ( id ) => {
8483 setIsEditModalOpen ( true ) ;
8584
8685 const fetchWidgetData = async ( id ) => {
@@ -106,7 +105,7 @@ const Dashboard = () => {
106105 return ( ) => {
107106 clearTimeout ( debouncer ) ;
108107 } ;
109- } ;
108+ } , [ ] ) ;
110109
111110 // update widgets
112111 const { widgets, widgetComponents } = useWidgets ( {
@@ -171,7 +170,6 @@ const Dashboard = () => {
171170 const paramDashboard = dashboards . find ( ( db ) => db . id === dashboard_id ) ;
172171 if ( paramDashboard ) {
173172 setSelectedDashboard ( paramDashboard ) ;
174- setIsDashboardOpen ( false ) ;
175173 setSelectInputValue ( paramDashboard . title ) ;
176174 setProcessedDashboardId ( dashboard_id ) ;
177175 }
@@ -210,9 +208,7 @@ const Dashboard = () => {
210208 useEffect ( ( ) => {
211209 let filteredOptions = [ ...dashboards ] ;
212210 if ( selectFilterValue && dashboards . length ) {
213- filteredOptions = [ ...dashboards ] ;
214-
215- filteredOptions = filteredOptions . filter ( ( dashboard ) =>
211+ filteredOptions = dashboards . filter ( ( dashboard ) =>
216212 dashboard . title . toLowerCase ( ) . includes ( selectFilterValue . toLowerCase ( ) ) ,
217213 ) ;
218214 if ( ! filteredOptions . length ) {
@@ -223,13 +219,10 @@ const Dashboard = () => {
223219 } ,
224220 ] ;
225221 }
226- if ( ! isDashboardOpen ) {
227- setIsDashboardOpen ( true ) ;
228- }
229222 }
230223
231224 setFilteredDashboards ( filteredOptions ) ;
232- } , [ selectFilterValue , dashboards , isDashboardOpen ] ) ;
225+ } , [ selectFilterValue , dashboards ] ) ;
233226
234227 const onDashboardSelect = useCallback (
235228 ( _event , selection ) => {
@@ -250,7 +243,6 @@ const Dashboard = () => {
250243 const onDashboardClear = useCallback ( ( ) => {
251244 // state update
252245 setSelectedDashboard ( ) ;
253- setIsDashboardOpen ( false ) ;
254246 setSelectInputValue ( '' ) ;
255247 setSelectFilterValue ( '' ) ;
256248 setProcessedDashboardId ( null ) ; // Reset processed dashboard ID
@@ -434,7 +426,6 @@ const Dashboard = () => {
434426 aria-label = "New dashboard"
435427 variant = "plain"
436428 title = "New dashboard"
437- isDisabled = { isDashboardOpen }
438429 onClick = { ( ) => {
439430 setIsNewDBOpen ( true ) ;
440431 } }
0 commit comments