Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/wincloud_gateway/node_modules/strapi-plugin-users-permissions/admin/src/hooks/useForm/ drwxr-xr-x | |
| Viewing file: Select action/file-type: import { useCallback, useEffect, useReducer, useRef } from 'react';
import { useUserPermissions, request } from 'strapi-helper-plugin';
import { getRequestURL } from '../../utils';
import reducer, { initialState } from './reducer';
const useUserForm = (endPoint, permissions) => {
const { isLoading: isLoadingForPermissions, allowedActions } = useUserPermissions(permissions);
const [{ formErrors, initialData, isLoading, modifiedData }, dispatch] = useReducer(
reducer,
initialState
);
const isMounted = useRef(true);
const abortController = new AbortController();
const { signal } = abortController;
useEffect(() => {
const getData = async () => {
try {
dispatch({
type: 'GET_DATA',
});
const data = await request(getRequestURL(endPoint), { method: 'GET', signal });
dispatch({
type: 'GET_DATA_SUCCEEDED',
data,
});
} catch (err) {
// The user aborted the request
if (isMounted.current) {
dispatch({
type: 'GET_DATA_ERROR',
});
console.error(err);
strapi.notification.toggle({
type: 'warning',
message: { id: 'notification.error' },
});
}
}
};
if (!isLoadingForPermissions) {
getData();
}
return () => {
abortController.abort();
isMounted.current = false;
};
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [isLoadingForPermissions, endPoint]);
const handleChange = useCallback(({ target: { name, value } }) => {
dispatch({
type: 'ON_CHANGE',
keys: name,
value,
});
}, []);
const dispatchResetForm = useCallback(() => {
dispatch({
type: 'RESET_FORM',
});
}, []);
const dispatchSetFormErrors = useCallback(errors => {
dispatch({ type: 'SET_ERRORS', errors });
}, []);
const dispatchSubmitSucceeded = useCallback(() => {
dispatch({
type: 'ON_SUBMIT_SUCCEEDED',
});
}, []);
return {
allowedActions,
dispatch,
dispatchResetForm,
dispatchSetFormErrors,
dispatchSubmitSucceeded,
formErrors,
handleChange,
initialData,
isLoading,
isLoadingForPermissions,
modifiedData,
};
};
export default useUserForm;
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0064 ]-- |