@@ -11,6 +11,7 @@ import {
1111 type DataActionsMenuProperties ,
1212 type FilterOption ,
1313} from "@prefabs.tech/react-ui" ;
14+ import { useCallback } from "react" ;
1415
1516import { useUserActions } from "./useUserActionsMethods" ;
1617import { InvitationModal } from "../Invitation" ;
@@ -234,43 +235,44 @@ export const UsersTable = ({
234235 } ,
235236 ] ;
236237
237- const getDefaultActionsMenu = (
238- user : UserType ,
239- ) : DataActionsMenuProperties < UserType > => {
240- const defaultActions : DataActionsMenuProperties < UserType > [ "actions" ] = [ ] ;
238+ const getDefaultActionsMenu = useCallback (
239+ ( user : UserType ) : DataActionsMenuProperties < UserType > => {
240+ const defaultActions : DataActionsMenuProperties < UserType > [ "actions" ] = [ ] ;
241241
242- if ( currentUser ?. id !== user . id ) {
243- defaultActions . push (
244- {
245- key : "enableUser" ,
246- label : t ( "table.actions.enable" ) ,
247- icon : "pi pi-check" ,
248- disabled : ( user : UserType ) => ! user . disabled ,
249- onClick : ( user : UserType ) => handleEnableUser ( user ) ,
250- requireConfirmationModal : true ,
251- confirmationOptions : {
252- message : t ( "confirmation.enable.message" ) ,
253- header : t ( "confirmation.header" ) ,
242+ if ( currentUser ?. id !== user . id ) {
243+ defaultActions . push (
244+ {
245+ key : "enableUser" ,
246+ label : t ( "table.actions.enable" ) ,
247+ icon : "pi pi-check" ,
248+ disabled : ( user : UserType ) => ! user . disabled ,
249+ onClick : ( user : UserType ) => handleEnableUser ( user ) ,
250+ requireConfirmationModal : true ,
251+ confirmationOptions : {
252+ message : t ( "confirmation.enable.message" ) ,
253+ header : t ( "confirmation.header" ) ,
254+ } ,
254255 } ,
255- } ,
256- {
257- key : "disableUser" ,
258- label : t ( "table.actions.disable" ) ,
259- className : "danger " ,
260- icon : "pi pi-times" ,
261- disabled : ( user : UserType ) => user . disabled as boolean ,
262- onClick : ( user : UserType ) => handleDisableUser ( user ) ,
263- requireConfirmationModal : true ,
264- confirmationOptions : {
265- message : t ( "confirmation.disable.message " ) ,
266- header : t ( "confirmation.header" ) ,
256+ {
257+ key : "disableUser" ,
258+ label : t ( "table.actions.disable" ) ,
259+ className : "danger" ,
260+ icon : "pi pi-times " ,
261+ disabled : ( user : UserType ) => user . disabled as boolean ,
262+ onClick : ( user : UserType ) => handleDisableUser ( user ) ,
263+ requireConfirmationModal : true ,
264+ confirmationOptions : {
265+ message : t ( "confirmation.disable.message" ) ,
266+ header : t ( "confirmation.header " ) ,
267+ } ,
267268 } ,
268- } ,
269- ) ;
270- }
269+ ) ;
270+ }
271271
272- return { actions : defaultActions } ;
273- } ;
272+ return { actions : defaultActions } ;
273+ } ,
274+ [ currentUser ?. id , t , handleEnableUser , handleDisableUser ] ,
275+ ) ;
274276
275277 const renderToolbar = ( ) => {
276278 if ( showInviteAction ) {
0 commit comments