diff --git a/rsconcept/frontend/src/components/ui/DataTable/TableBody.tsx b/rsconcept/frontend/src/components/ui/DataTable/TableBody.tsx index 8fa11dbf..e87a07af 100644 --- a/rsconcept/frontend/src/components/ui/DataTable/TableBody.tsx +++ b/rsconcept/frontend/src/components/ui/DataTable/TableBody.tsx @@ -32,9 +32,7 @@ function TableBody({ onRowDoubleClicked }: TableBodyProps) { function handleRowClicked(target: Row, event: CProps.EventMouse) { - if (onRowClicked) { - onRowClicked(target.original, event); - } + onRowClicked?.(target.original, event); if (enableRowSelection && target.getCanSelect()) { if (event.shiftKey && !!lastSelected && lastSelected !== target.id) { const { rows, rowsById } = table.getRowModel(); diff --git a/rsconcept/frontend/src/components/ui/FileInput.tsx b/rsconcept/frontend/src/components/ui/FileInput.tsx index c07fad4c..ce2ddca4 100644 --- a/rsconcept/frontend/src/components/ui/FileInput.tsx +++ b/rsconcept/frontend/src/components/ui/FileInput.tsx @@ -36,9 +36,7 @@ function FileInput({ id, label, acceptType, title, className, style, onChange, . } else { setFileName(''); } - if (onChange) { - onChange(event); - } + onChange?.(event); }; return ( diff --git a/rsconcept/frontend/src/components/ui/Modal.tsx b/rsconcept/frontend/src/components/ui/Modal.tsx index d0665278..d9f8a1c3 100644 --- a/rsconcept/frontend/src/components/ui/Modal.tsx +++ b/rsconcept/frontend/src/components/ui/Modal.tsx @@ -84,14 +84,14 @@ function Modal({ const handleCancel = () => { hideWindow(); - if (onCancel) onCancel(); + onCancel?.(); }; const handleSubmit = () => { if (beforeSubmit && !beforeSubmit()) { return; } - if (onSubmit) onSubmit(); + onSubmit?.(); hideWindow(); }; diff --git a/rsconcept/frontend/src/context/AuthContext.tsx b/rsconcept/frontend/src/context/AuthContext.tsx index 26eb2f65..fc54ce85 100644 --- a/rsconcept/frontend/src/context/AuthContext.tsx +++ b/rsconcept/frontend/src/context/AuthContext.tsx @@ -69,7 +69,7 @@ export const AuthState = ({ children }: React.PropsWithChildren) => { } else { setUser(undefined); } - if (callback) callback(); + callback?.(); } }); }, @@ -85,7 +85,7 @@ export const AuthState = ({ children }: React.PropsWithChildren) => { onError: setError, onSuccess: newData => reload(() => { - if (callback) callback(newData); + callback?.(newData); }) }); } @@ -96,7 +96,7 @@ export const AuthState = ({ children }: React.PropsWithChildren) => { showError: true, onSuccess: newData => reload(() => { - if (callback) callback(newData); + callback?.(newData); }) }); } @@ -111,7 +111,7 @@ export const AuthState = ({ children }: React.PropsWithChildren) => { onSuccess: newData => reload(() => { users.push(newData as IUserInfo); - if (callback) callback(newData); + callback?.(newData); }) }); } @@ -126,7 +126,7 @@ export const AuthState = ({ children }: React.PropsWithChildren) => { onError: setError, onSuccess: () => reload(() => { - if (callback) callback(); + callback?.(); }) }); }, @@ -143,7 +143,7 @@ export const AuthState = ({ children }: React.PropsWithChildren) => { onError: setError, onSuccess: () => reload(() => { - if (callback) callback(); + callback?.(); }) }); }, @@ -160,7 +160,7 @@ export const AuthState = ({ children }: React.PropsWithChildren) => { onError: setError, onSuccess: () => reload(() => { - if (callback) callback(); + callback?.(); }) }); }, @@ -177,7 +177,7 @@ export const AuthState = ({ children }: React.PropsWithChildren) => { onError: setError, onSuccess: () => reload(() => { - if (callback) callback(); + callback?.(); }) }); }, diff --git a/rsconcept/frontend/src/context/GlobalOssContext.tsx b/rsconcept/frontend/src/context/GlobalOssContext.tsx index 17fc78c1..57e3f729 100644 --- a/rsconcept/frontend/src/context/GlobalOssContext.tsx +++ b/rsconcept/frontend/src/context/GlobalOssContext.tsx @@ -48,7 +48,7 @@ export const GlobalOssState = ({ children }: React.PropsWithChildren) => { (callback?: () => void) => { reloadInternal(undefined, () => { setIsValid(true); - if (callback) callback(); + callback?.(); }); }, [reloadInternal] diff --git a/rsconcept/frontend/src/context/LibraryContext.tsx b/rsconcept/frontend/src/context/LibraryContext.tsx index 9588df7e..bbc65755 100644 --- a/rsconcept/frontend/src/context/LibraryContext.tsx +++ b/rsconcept/frontend/src/context/LibraryContext.tsx @@ -157,7 +157,7 @@ export const LibraryState = ({ children }: React.PropsWithChildren) => { onError: setLoadingError, onSuccess: newData => { setItems(newData); - if (callback) callback(); + callback?.(); } }); } else { @@ -167,7 +167,7 @@ export const LibraryState = ({ children }: React.PropsWithChildren) => { onError: setLoadingError, onSuccess: newData => { setItems(newData); - if (callback) callback(); + callback?.(); } }); } @@ -217,7 +217,7 @@ export const LibraryState = ({ children }: React.PropsWithChildren) => { (data: ILibraryCreateData, callback?: DataCallback) => { const onSuccess = (newSchema: ILibraryItem) => reloadItems(() => { - if (callback) callback(newSchema); + callback?.(newSchema); }); setProcessingError(undefined); if (data.file) { @@ -250,7 +250,7 @@ export const LibraryState = ({ children }: React.PropsWithChildren) => { onError: setProcessingError, onSuccess: () => reloadItems(() => { - if (callback) callback(); + callback?.(); }) }); }, @@ -270,7 +270,7 @@ export const LibraryState = ({ children }: React.PropsWithChildren) => { onError: setProcessingError, onSuccess: newSchema => reloadItems(() => { - if (callback) callback(newSchema); + callback?.(newSchema); }) }); }, @@ -287,7 +287,7 @@ export const LibraryState = ({ children }: React.PropsWithChildren) => { onError: setProcessingError, onSuccess: () => reloadItems(() => { - if (callback) callback(); + callback?.(); }) }); }, diff --git a/rsconcept/frontend/src/context/OssContext.tsx b/rsconcept/frontend/src/context/OssContext.tsx index 5c73c4a5..6e8c1287 100644 --- a/rsconcept/frontend/src/context/OssContext.tsx +++ b/rsconcept/frontend/src/context/OssContext.tsx @@ -114,7 +114,7 @@ export const OssState = ({ itemID, children }: React.PropsWithChildren { model.owner = newOwner; library.reloadItems(() => { - if (callback) callback(); + callback?.(); }); } }); @@ -161,7 +161,7 @@ export const OssState = ({ itemID, children }: React.PropsWithChildren { model.access_policy = newPolicy; library.reloadItems(() => { - if (callback) callback(); + callback?.(); }); } }); @@ -185,7 +185,7 @@ export const OssState = ({ itemID, children }: React.PropsWithChildren { model.location = newLocation; library.reloadItems(() => { - if (callback) callback(); + callback?.(); }); } }); @@ -209,7 +209,7 @@ export const OssState = ({ itemID, children }: React.PropsWithChildren { model.editors = newEditors; library.reloadItems(() => { - if (callback) callback(); + callback?.(); }); } }); @@ -227,7 +227,7 @@ export const OssState = ({ itemID, children }: React.PropsWithChildren { library.localUpdateTimestamp(Number(itemID)); - if (callback) callback(); + callback?.(); } }); }, @@ -245,7 +245,7 @@ export const OssState = ({ itemID, children }: React.PropsWithChildren { oss.setData(newData.oss); library.localUpdateTimestamp(newData.oss.id); - if (callback) callback(newData.new_operation); + callback?.(newData.new_operation); } }); }, @@ -263,7 +263,7 @@ export const OssState = ({ itemID, children }: React.PropsWithChildren { oss.setData(newData); library.reloadItems(() => { - if (callback) callback(); + callback?.(); }); } }); @@ -282,7 +282,7 @@ export const OssState = ({ itemID, children }: React.PropsWithChildren { oss.setData(newData.oss); library.reloadItems(() => { - if (callback) callback(newData.new_schema); + callback?.(newData.new_schema); }); } }); @@ -304,7 +304,7 @@ export const OssState = ({ itemID, children }: React.PropsWithChildren { oss.setData(newData); library.reloadItems(() => { - if (callback) callback(); + callback?.(); }); } }); @@ -326,7 +326,7 @@ export const OssState = ({ itemID, children }: React.PropsWithChildren { oss.setData(newData); library.reloadItems(() => { - if (callback) callback(); + callback?.(); }); } }); @@ -348,7 +348,7 @@ export const OssState = ({ itemID, children }: React.PropsWithChildren { oss.setData(newData); library.reloadItems(() => { - if (callback) callback(); + callback?.(); }); } }); @@ -370,7 +370,7 @@ export const OssState = ({ itemID, children }: React.PropsWithChildren { oss.reload(); library.reloadItems(() => { - if (callback) callback(); + callback?.(); }); } }); diff --git a/rsconcept/frontend/src/context/RSFormContext.tsx b/rsconcept/frontend/src/context/RSFormContext.tsx index c042eb4c..0405b16c 100644 --- a/rsconcept/frontend/src/context/RSFormContext.tsx +++ b/rsconcept/frontend/src/context/RSFormContext.tsx @@ -147,7 +147,7 @@ export const RSFormState = ({ itemID, versionID, children }: React.PropsWithChil setSchema(Object.assign(schema, newData)); library.localUpdateItem(newData); oss.invalidateItem(newData.id); - if (callback) callback(newData); + callback?.(newData); } }); }, @@ -168,7 +168,7 @@ export const RSFormState = ({ itemID, versionID, children }: React.PropsWithChil onSuccess: newData => { setSchema(newData); library.localUpdateItem(newData); - if (callback) callback(); + callback?.(); } }); }, @@ -191,7 +191,7 @@ export const RSFormState = ({ itemID, versionID, children }: React.PropsWithChil onSuccess: () => { schema.owner = newOwner; library.localUpdateItem(schema); - if (callback) callback(); + callback?.(); } }); }, @@ -214,7 +214,7 @@ export const RSFormState = ({ itemID, versionID, children }: React.PropsWithChil onSuccess: () => { schema.access_policy = newPolicy; library.localUpdateItem(schema); - if (callback) callback(); + callback?.(); } }); }, @@ -258,7 +258,7 @@ export const RSFormState = ({ itemID, versionID, children }: React.PropsWithChil onError: setProcessingError, onSuccess: () => { schema.editors = newEditors; - if (callback) callback(); + callback?.(); } }); }, @@ -279,7 +279,7 @@ export const RSFormState = ({ itemID, versionID, children }: React.PropsWithChil setSchema(newData); library.localUpdateTimestamp(newData.id); oss.invalidateItem(newData.id); - if (callback) callback(); + callback?.(); } }); }, @@ -299,7 +299,7 @@ export const RSFormState = ({ itemID, versionID, children }: React.PropsWithChil onSuccess: newData => { setSchema(newData); library.localUpdateTimestamp(newData.id); - if (callback) callback(); + callback?.(); } }); }, @@ -318,7 +318,7 @@ export const RSFormState = ({ itemID, versionID, children }: React.PropsWithChil setSchema(newData.schema); library.localUpdateTimestamp(newData.schema.id); oss.invalidateItem(newData.schema.id); - if (callback) callback(newData.cst_list); + callback?.(newData.cst_list); } }); }, @@ -350,7 +350,7 @@ export const RSFormState = ({ itemID, versionID, children }: React.PropsWithChil setSchema(newData.schema); library.localUpdateTimestamp(newData.schema.id); oss.invalidateItem(newData.schema.id); - if (callback) callback(newData.new_cst); + callback?.(newData.new_cst); } }); }, @@ -369,7 +369,7 @@ export const RSFormState = ({ itemID, versionID, children }: React.PropsWithChil setSchema(newData); library.localUpdateTimestamp(newData.id); oss.invalidateItem(newData.id); - if (callback) callback(); + callback?.(); } }); }, @@ -388,7 +388,7 @@ export const RSFormState = ({ itemID, versionID, children }: React.PropsWithChil reload(setProcessing, () => { library.localUpdateTimestamp(Number(itemID)); oss.invalidateItem(Number(itemID)); - if (callback) callback(newData); + callback?.(newData); }) }); }, @@ -407,7 +407,7 @@ export const RSFormState = ({ itemID, versionID, children }: React.PropsWithChil setSchema(newData.schema); library.localUpdateTimestamp(newData.schema.id); oss.invalidateItem(newData.schema.id); - if (callback) callback(newData.new_cst); + callback?.(newData.new_cst); } }); }, @@ -426,7 +426,7 @@ export const RSFormState = ({ itemID, versionID, children }: React.PropsWithChil setSchema(newData); library.localUpdateTimestamp(newData.id); oss.invalidateItem(newData.id); - if (callback) callback(); + callback?.(); } }); }, @@ -444,7 +444,7 @@ export const RSFormState = ({ itemID, versionID, children }: React.PropsWithChil onSuccess: newData => { setSchema(newData); library.localUpdateTimestamp(Number(itemID)); - if (callback) callback(); + callback?.(); } }); }, @@ -462,7 +462,7 @@ export const RSFormState = ({ itemID, versionID, children }: React.PropsWithChil onSuccess: newData => { setSchema(newData.schema); library.localUpdateTimestamp(Number(itemID)); - if (callback) callback(newData.version); + callback?.(newData.version); } }); }, @@ -499,7 +499,7 @@ export const RSFormState = ({ itemID, versionID, children }: React.PropsWithChil } }); setSchema(schema); - if (callback) callback(); + callback?.(); } }); }, @@ -516,7 +516,7 @@ export const RSFormState = ({ itemID, versionID, children }: React.PropsWithChil onSuccess: () => { schema!.versions = schema!.versions.filter(prev => prev.id !== target); setSchema(schema); - if (callback) callback(); + callback?.(); } }); }, @@ -533,7 +533,7 @@ export const RSFormState = ({ itemID, versionID, children }: React.PropsWithChil onSuccess: newData => { setSchema(newData); library.localUpdateItem(newData); - if (callback) callback(); + callback?.(); } }); }, @@ -552,7 +552,7 @@ export const RSFormState = ({ itemID, versionID, children }: React.PropsWithChil setSchema(newData); library.localUpdateTimestamp(newData.id); oss.invalidateItem(newData.id); - if (callback) callback(newData); + callback?.(newData); } }); }, diff --git a/rsconcept/frontend/src/context/UserProfileContext.tsx b/rsconcept/frontend/src/context/UserProfileContext.tsx index dd53418c..65c224cd 100644 --- a/rsconcept/frontend/src/context/UserProfileContext.tsx +++ b/rsconcept/frontend/src/context/UserProfileContext.tsx @@ -64,7 +64,7 @@ export const UserProfileState = ({ children }: React.PropsWithChildren) => { libraryUser.first_name = newData.first_name; libraryUser.last_name = newData.last_name; } - if (callback) callback(newData); + callback?.(newData); } }); }, diff --git a/rsconcept/frontend/src/context/UsersContext.tsx b/rsconcept/frontend/src/context/UsersContext.tsx index 2981d18b..0da6d656 100644 --- a/rsconcept/frontend/src/context/UsersContext.tsx +++ b/rsconcept/frontend/src/context/UsersContext.tsx @@ -69,7 +69,7 @@ export const UsersState = ({ children }: React.PropsWithChildren) => { } }); setUsers(newData); - if (callback) callback(); + callback?.(); } }); }, diff --git a/rsconcept/frontend/src/hooks/useCheckConstituenta.ts b/rsconcept/frontend/src/hooks/useCheckConstituenta.ts index 3c2c95dd..8b15aff4 100644 --- a/rsconcept/frontend/src/hooks/useCheckConstituenta.ts +++ b/rsconcept/frontend/src/hooks/useCheckConstituenta.ts @@ -29,7 +29,7 @@ function useCheckConstituenta({ schema }: { schema?: IRSForm }) { onError: setError, onSuccess: parse => { setParseData(parse); - if (onSuccess) onSuccess(parse); + onSuccess?.(parse); } }); } diff --git a/rsconcept/frontend/src/hooks/useClickedOutside.ts b/rsconcept/frontend/src/hooks/useClickedOutside.ts index 96307ec6..2f3dab8a 100644 --- a/rsconcept/frontend/src/hooks/useClickedOutside.ts +++ b/rsconcept/frontend/src/hooks/useClickedOutside.ts @@ -13,7 +13,7 @@ function useClickedOutside(enabled: boolean, ref: React.RefObject, function handleClickOutside(event: MouseEvent) { assertIsNode(event.target); if (ref.current && !ref.current.contains(event.target)) { - if (callback) callback(); + callback?.(); } } document.addEventListener('mouseup', handleClickOutside); diff --git a/rsconcept/frontend/src/hooks/useConceptText.ts b/rsconcept/frontend/src/hooks/useConceptText.ts index ebb1bea7..3dc08abd 100644 --- a/rsconcept/frontend/src/hooks/useConceptText.ts +++ b/rsconcept/frontend/src/hooks/useConceptText.ts @@ -19,7 +19,7 @@ function useConceptText() { setLoading: setProcessing, onError: setError, onSuccess: data => { - if (onSuccess) onSuccess(data); + onSuccess?.(data); } }); }, []); @@ -32,7 +32,7 @@ function useConceptText() { setLoading: setProcessing, onError: setError, onSuccess: data => { - if (onSuccess) onSuccess(data); + onSuccess?.(data); } }); }, []); @@ -45,7 +45,7 @@ function useConceptText() { setLoading: setProcessing, onError: setError, onSuccess: data => { - if (onSuccess) onSuccess(data); + onSuccess?.(data); } }); }, []); diff --git a/rsconcept/frontend/src/hooks/useOssDetails.ts b/rsconcept/frontend/src/hooks/useOssDetails.ts index ee590ff0..afb73b8c 100644 --- a/rsconcept/frontend/src/hooks/useOssDetails.ts +++ b/rsconcept/frontend/src/hooks/useOssDetails.ts @@ -42,7 +42,7 @@ function useOssDetails({ target, items }: { target?: string; items: ILibraryItem }, onSuccess: schema => { setSchema(schema); - if (callback) callback(); + callback?.(); } }); }, diff --git a/rsconcept/frontend/src/hooks/useRSFormDetails.ts b/rsconcept/frontend/src/hooks/useRSFormDetails.ts index 846a1d71..ae036ad2 100644 --- a/rsconcept/frontend/src/hooks/useRSFormDetails.ts +++ b/rsconcept/frontend/src/hooks/useRSFormDetails.ts @@ -38,7 +38,7 @@ function useRSFormDetails({ target, version }: { target?: string; version?: stri }, onSuccess: schema => { setSchema(schema); - if (callback) callback(); + callback?.(); } }); }, diff --git a/rsconcept/frontend/src/pages/OssPage/OssEditContext.tsx b/rsconcept/frontend/src/pages/OssPage/OssEditContext.tsx index 9fabc98e..d2d0c3eb 100644 --- a/rsconcept/frontend/src/pages/OssPage/OssEditContext.tsx +++ b/rsconcept/frontend/src/pages/OssPage/OssEditContext.tsx @@ -218,7 +218,7 @@ export const OssEditState = ({ selected, setSelected, children }: React.PropsWit } }); toast.success(information.changesSaved); - if (callback) callback(); + callback?.(); }); }, [model] diff --git a/rsconcept/frontend/src/pages/RSFormPage/EditorRSExpression/EditorRSExpression.tsx b/rsconcept/frontend/src/pages/RSFormPage/EditorRSExpression/EditorRSExpression.tsx index 1d225353..b3e9c9d1 100644 --- a/rsconcept/frontend/src/pages/RSFormPage/EditorRSExpression/EditorRSExpression.tsx +++ b/rsconcept/frontend/src/pages/RSFormPage/EditorRSExpression/EditorRSExpression.tsx @@ -96,7 +96,7 @@ function EditorRSExpression({ args: parse.args }) ); - if (callback) callback(parse); + callback?.(parse); }); } diff --git a/rsconcept/frontend/src/pages/RSFormPage/RSEditContext.tsx b/rsconcept/frontend/src/pages/RSFormPage/RSEditContext.tsx index 4181ac69..f0485960 100644 --- a/rsconcept/frontend/src/pages/RSFormPage/RSEditContext.tsx +++ b/rsconcept/frontend/src/pages/RSFormPage/RSEditContext.tsx @@ -326,7 +326,7 @@ export const RSEditState = ({ model.cstDelete(data, () => { toast.success(information.constituentsDestroyed(deletedNames)); setSelected(nextActive ? [nextActive] : []); - if (onDeleteCst) onDeleteCst(nextActive); + onDeleteCst?.(nextActive); }); }, [model, activeCst, onDeleteCst, setSelected]