Changed useDispatch implementation to comply with TS specification (#2110)

Signed-off-by: Benjamin Perez <benjamin@bexsoft.net>
This commit is contained in:
Alex
2022-06-10 13:05:21 -05:00
committed by GitHub
parent c509e5db70
commit df38c84075
181 changed files with 539 additions and 473 deletions

View File

@@ -22,7 +22,7 @@ import useApi from "./screens/Console/Common/Hooks/useApi";
import { ErrorResponseHandler } from "./common/types";
import { ReplicationSite } from "./screens/Console/Configurations/SiteReplication/SiteReplication";
import { baseUrl } from "./history";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import {
globalSetDistributedSetup,
operatorMode,
@@ -31,7 +31,7 @@ import {
userLogged,
} from "./systemSlice";
import { SRInfoStateType } from "./types";
import { AppState } from "./store";
import { AppState, useAppDispatch } from "./store";
import { saveSessionResponse } from "./screens/Console/consoleSlice";
interface ProtectedRouteProps {
@@ -39,7 +39,7 @@ interface ProtectedRouteProps {
}
const ProtectedRoute = ({ Component }: ProtectedRouteProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const isOperatorMode = useSelector(selOpMode);

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import { useNavigate } from "react-router-dom";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -58,6 +58,7 @@ import ServiceAccountPolicy from "./ServiceAccountPolicy";
import { setErrorSnackMessage, setSnackBarMessage } from "../../../systemSlice";
import makeStyles from "@mui/styles/makeStyles";
import { selFeatures } from "../consoleSlice";
import { useAppDispatch } from "../../../store";
const DeleteServiceAccount = withSuspense(
React.lazy(() => import("./DeleteServiceAccount"))
@@ -78,7 +79,7 @@ const useStyles = makeStyles((theme: Theme) =>
);
const Account = () => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const classes = useStyles();

View File

@@ -48,8 +48,9 @@ import CredentialsPrompt from "../Common/CredentialsPrompt/CredentialsPrompt";
import SectionTitle from "../Common/SectionTitle";
import { getRandomString } from "../../../screens/Console/Tenants/utils";
import PanelTitle from "../Common/PanelTitle/PanelTitle";
import { useDispatch } from "react-redux";
import { setErrorSnackMessage } from "../../../systemSlice";
import { useAppDispatch } from "../../../store";
interface IAddServiceAccountProps {
classes: any;
@@ -75,7 +76,7 @@ const styles = (theme: Theme) =>
});
const AddServiceAccount = ({ classes }: IAddServiceAccountProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const [addSending, setAddSending] = useState<boolean>(false);

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { useState } from "react";
import { useDispatch } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -36,6 +36,7 @@ import { ChangePasswordIcon } from "../../../icons";
import RemoveRedEyeIcon from "@mui/icons-material/RemoveRedEye";
import VisibilityOffIcon from "@mui/icons-material/VisibilityOff";
import { setModalErrorSnackMessage } from "../../../systemSlice";
import { useAppDispatch } from "../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -56,7 +57,7 @@ const ChangePassword = ({
open,
closeModal,
}: IChangePasswordProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [currentPassword, setCurrentPassword] = useState<string>("");
const [newPassword, setNewPassword] = useState<string>("");
const [reNewPassword, setReNewPassword] = useState<string>("");

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { useState } from "react";
import { useDispatch } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -35,6 +35,7 @@ import { ErrorResponseHandler } from "../../../common/types";
import api from "../../../common/api";
import { ChangePasswordIcon } from "../../../icons";
import { setModalErrorSnackMessage } from "../../../systemSlice";
import { useAppDispatch } from "../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -60,7 +61,7 @@ const ChangeUserPassword = ({
userName,
closeModal,
}: IChangeUserPasswordProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [newPassword, setNewPassword] = useState<string>("");
const [reNewPassword, setReNewPassword] = useState<string>("");
const [loading, setLoading] = useState<boolean>(false);

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React from "react";
import { useDispatch } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -27,6 +27,7 @@ import ConfirmDialog from "../Common/ModalWrapper/ConfirmDialog";
import { ConfirmDeleteIcon } from "../../../icons";
import { encodeURLString } from "../../../common/utils";
import { setErrorSnackMessage } from "../../../systemSlice";
import { useAppDispatch } from "../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -50,7 +51,7 @@ const DeleteServiceAccount = ({
deleteOpen,
selectedServiceAccount,
}: IDeleteServiceAccountProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const onDelSuccess = () => closeDeleteModalAndRefresh(true);
const onDelError = (err: ErrorResponseHandler) =>
dispatch(setErrorSnackMessage(err));

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import { Button } from "@mui/material";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -34,6 +34,7 @@ import { ChangeAccessPolicyIcon } from "../../../icons";
import CodeMirrorWrapper from "../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper";
import { encodeURLString } from "../../../common/utils";
import { setModalErrorSnackMessage } from "../../../systemSlice";
import { useAppDispatch } from "../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -68,7 +69,7 @@ const ServiceAccountPolicy = ({
selectedAccessKey,
closeModalAndRefresh,
}: IServiceAccountPolicyProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [loading, setLoading] = useState<boolean>(true);
const [policyDefinition, setPolicyDefinition] = useState<string>("");
useEffect(() => {

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import { useNavigate, useParams } from "react-router-dom";
import { Paper } from "@mui/material";
import Tabs from "@mui/material/Tabs";
@@ -40,6 +40,7 @@ import {
import { encodeURLString } from "../../../../common/utils";
import { setErrorSnackMessage } from "../../../../systemSlice";
import { selBucketDetailsLoading } from "./bucketDetailsSlice";
import { useAppDispatch } from "../../../../store";
function a11yProps(index: any) {
return {
@@ -49,7 +50,7 @@ function a11yProps(index: any) {
}
const AccessDetails = () => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const params = useParams();

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import { useParams } from "react-router-dom";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -45,6 +45,7 @@ import RBIconButton from "./SummaryItems/RBIconButton";
import { setErrorSnackMessage } from "../../../../systemSlice";
import makeStyles from "@mui/styles/makeStyles";
import { selBucketDetailsLoading } from "./bucketDetailsSlice";
import { useAppDispatch } from "../../../../store";
const AddAccessRuleModal = withSuspense(
React.lazy(() => import("./AddAccessRule"))
@@ -75,7 +76,7 @@ const useStyles = makeStyles((theme: Theme) =>
);
const AccessRule = () => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const classes = useStyles();
const params = useParams();

View File

@@ -25,12 +25,13 @@ import {
formFieldStyles,
modalStyleUtils,
} from "../../Common/FormComponents/common/styleLibrary";
import { useDispatch } from "react-redux";
import api from "../../../../common/api";
import { ErrorResponseHandler } from "../../../../common/types";
import SelectWrapper from "../../Common/FormComponents/SelectWrapper/SelectWrapper";
import { AddAccessRuleIcon } from "../../../../icons";
import { setErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
interface IAddAccessRule {
classes: any;
@@ -51,7 +52,7 @@ const AddAccessRule = ({
classes,
bucket,
}: IAddAccessRule) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [prefix, setPrefix] = useState("");
const [selectedAccess, setSelectedAccess] = useState<any>("readonly");

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { useState } from "react";
import { useDispatch } from "react-redux";
import { Button, Grid } from "@mui/material";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -31,6 +31,7 @@ import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper";
import api from "../../../../common/api";
import { AddNewTagIcon } from "../../../../icons";
import { setModalErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
interface IBucketTagModal {
modalOpen: boolean;
@@ -56,7 +57,7 @@ const AddBucketTagModal = ({
classes,
}: IBucketTagModal) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [newKey, setNewKey] = useState<string>("");
const [newLabel, setNewLabel] = useState<string>("");
const [isSending, setIsSending] = useState<boolean>(false);

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { ChangeEvent, useCallback, useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import Grid from "@mui/material/Grid";
import { Button } from "@mui/material";
import { Theme } from "@mui/material/styles";
@@ -40,6 +40,7 @@ import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBo
import AutocompleteWrapper from "../../Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper";
import { EventSubscriptionIcon } from "../../../../icons";
import { setModalErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -65,7 +66,7 @@ const AddEvent = ({
selectedBucket,
closeModalAndRefresh,
}: IAddEventProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [addLoading, setAddLoading] = useState<boolean>(false);
const [prefix, setPrefix] = useState<string>("");
const [suffix, setSuffix] = useState<string>("");

View File

@@ -16,7 +16,7 @@
import React, { Fragment, useEffect, useState } from "react";
import get from "lodash/get";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -53,6 +53,7 @@ import InputUnitMenu from "../../Common/FormComponents/InputUnitMenu/InputUnitMe
import { BucketVersioning } from "../types";
import FormSwitchWrapper from "../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper";
import { selDistSet, setModalErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
interface IReplicationModal {
open: boolean;
@@ -98,7 +99,7 @@ const AddLifecycleModal = ({
classes,
bucketName,
}: IReplicationModal) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const distributedSetup = useSelector(selDistSet);
const [loadingTiers, setLoadingTiers] = useState<boolean>(true);
const [tiersList, setTiersList] = useState<ITiersDropDown[]>([]);

View File

@@ -39,8 +39,9 @@ import { getBytes, k8sScalarUnitsExcluding } from "../../../../common/utils";
import QueryMultiSelector from "../../Common/FormComponents/QueryMultiSelector/QueryMultiSelector";
import { BucketReplicationIcon } from "../../../../icons";
import InputUnitMenu from "../../Common/FormComponents/InputUnitMenu/InputUnitMenu";
import { useDispatch } from "react-redux";
import { setModalErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
interface IReplicationModal {
open: boolean;
@@ -86,7 +87,7 @@ const AddReplicationModal = ({
setReplicationRules,
}: IReplicationModal) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [addLoading, setAddLoading] = useState<boolean>(false);
const [priority, setPriority] = useState<string>("1");
const [accessKey, setAccessKey] = useState<string>("");

View File

@@ -15,14 +15,14 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useEffect } from "react";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import { useNavigate, useParams } from "react-router-dom";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
import { Grid, IconButton, Tooltip } from "@mui/material";
import get from "lodash/get";
import { AppState } from "../../../../store";
import { AppState, useAppDispatch } from "../../../../store";
import { containerForHeader } from "../../Common/FormComponents/common/styleLibrary";
import ListObjects from "../ListBuckets/Objects/ListObjects/ListObjects";
@@ -50,7 +50,7 @@ const styles = (theme: Theme) =>
});
const BrowserHandler = () => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const params = useParams();

View File

@@ -23,7 +23,7 @@ import {
useNavigate,
useParams,
} from "react-router-dom";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -67,6 +67,7 @@ import {
setBucketDetailsLoad,
setBucketInfo,
} from "./bucketDetailsSlice";
import { useAppDispatch } from "../../../../store";
const BucketsIcon = React.lazy(() => import("../../../../icons/BucketsIcon"));
const FolderIcon = React.lazy(() => import("../../../../icons/FolderIcon"));
@@ -117,7 +118,7 @@ interface IBucketDetailsProps {
}
const BucketDetails = ({ classes }: IBucketDetailsProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const params = useParams();

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import { useParams } from "react-router-dom";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -45,6 +45,7 @@ import withSuspense from "../../Common/Components/withSuspense";
import RBIconButton from "./SummaryItems/RBIconButton";
import { setErrorSnackMessage } from "../../../../systemSlice";
import { selBucketDetailsLoading } from "./bucketDetailsSlice";
import { useAppDispatch } from "../../../../store";
const DeleteEvent = withSuspense(React.lazy(() => import("./DeleteEvent")));
const AddEvent = withSuspense(React.lazy(() => import("./AddEvent")));
@@ -63,7 +64,7 @@ interface IBucketEventsProps {
}
const BucketEventsPanel = ({ classes }: IBucketEventsProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const params = useParams();
const loadingBucket = useSelector(selBucketDetailsLoading);

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -47,6 +47,7 @@ import EditReplicationModal from "./EditReplicationModal";
import { setErrorSnackMessage } from "../../../../systemSlice";
import { selBucketDetailsLoading } from "./bucketDetailsSlice";
import { useParams } from "react-router-dom";
import { useAppDispatch } from "../../../../store";
const AddReplicationModal = withSuspense(
React.lazy(() => import("./AddReplicationModal"))
@@ -69,7 +70,7 @@ const styles = (theme: Theme) =>
});
const BucketReplicationPanel = ({ classes }: IBucketReplicationProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const params = useParams();
const loadingBucket = useSelector(selBucketDetailsLoading);

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import { useParams } from "react-router-dom";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -60,6 +60,7 @@ import {
selBucketDetailsLoading,
setBucketDetailsLoad,
} from "./bucketDetailsSlice";
import { useAppDispatch } from "../../../../store";
const SetAccessPolicy = withSuspense(
React.lazy(() => import("./SetAccessPolicy"))
@@ -97,7 +98,7 @@ interface IBucketSummaryProps {
}
const BucketSummary = ({ classes }: IBucketSummaryProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const params = useParams();
const loadingBucket = useSelector(selBucketDetailsLoading);

View File

@@ -20,12 +20,13 @@ import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
import { modalBasic } from "../../Common/FormComponents/common/styleLibrary";
import { useDispatch } from "react-redux";
import { ErrorResponseHandler } from "../../../../common/types";
import useApi from "../../Common/Hooks/useApi";
import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog";
import { ConfirmDeleteIcon } from "../../../../icons";
import { setErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
interface IDeleteAccessRule {
modalOpen: boolean;
@@ -45,7 +46,7 @@ const DeleteAccessRule = ({
bucket,
toDelete,
}: IDeleteAccessRule) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const onDelSuccess = () => onClose();
const onDelError = (err: ErrorResponseHandler) =>
dispatch(setErrorSnackMessage(err));

View File

@@ -25,8 +25,9 @@ import { ErrorResponseHandler } from "../../../../common/types";
import { ConfirmDeleteIcon } from "../../../../icons";
import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog";
import api from "../../../../common/api";
import { useDispatch } from "react-redux";
import { setErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
interface IDeleteLifecycleRule {
deleteOpen: boolean;
@@ -46,7 +47,7 @@ const DeleteBucketLifecycleRule = ({
bucket,
id,
}: IDeleteLifecycleRule) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [deletingRule, setDeletingRule] = useState<boolean>(false);
useEffect(() => {

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React from "react";
import { useDispatch } from "react-redux";
import { DialogContentText } from "@mui/material";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -26,6 +26,7 @@ import useApi from "../../Common/Hooks/useApi";
import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog";
import { ConfirmDeleteIcon } from "../../../../icons";
import { setErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
interface IDeleteBucketTagModal {
deleteOpen: boolean;
@@ -49,7 +50,7 @@ const DeleteBucketTagModal = ({
bucketName,
classes,
}: IDeleteBucketTagModal) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [tagKey, tagLabel] = selectedTag;
const onDelSuccess = () => onCloseAndUpdate(true);

View File

@@ -16,7 +16,7 @@
import React from "react";
import get from "lodash/get";
import { useDispatch } from "react-redux";
import { DialogContentText } from "@mui/material";
import { BucketEvent } from "../types";
@@ -25,6 +25,7 @@ import useApi from "../../Common/Hooks/useApi";
import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog";
import { ConfirmDeleteIcon } from "../../../../icons";
import { setErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
interface IDeleteEventProps {
closeDeleteModalAndRefresh: (refresh: boolean) => void;
@@ -39,7 +40,7 @@ const DeleteEvent = ({
selectedBucket,
bucketEvent,
}: IDeleteEventProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const onDelSuccess = () => closeDeleteModalAndRefresh(true);
const onDelError = (err: ErrorResponseHandler) =>
dispatch(setErrorSnackMessage(err));

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useState } from "react";
import { useDispatch } from "react-redux";
import { DialogContentText } from "@mui/material";
import { ErrorResponseHandler } from "../../../../common/types";
@@ -26,6 +26,7 @@ import Grid from "@mui/material/Grid";
import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper";
import WarningMessage from "../../Common/WarningMessage/WarningMessage";
import { setErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
interface IDeleteReplicationProps {
closeDeleteModalAndRefresh: (refresh: boolean) => void;
@@ -48,7 +49,7 @@ const DeleteReplicationRule = ({
allSelected,
deleteSelectedRules = false,
}: IDeleteReplicationProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [confirmationText, setConfirmationText] = useState<string>("");
const onDelSuccess = () => closeDeleteModalAndRefresh(true);

View File

@@ -24,12 +24,13 @@ import {
modalStyleUtils,
spacingUtils,
} from "../../Common/FormComponents/common/styleLibrary";
import { useDispatch } from "react-redux";
import api from "../../../../common/api";
import { ErrorResponseHandler } from "../../../../common/types";
import SelectWrapper from "../../Common/FormComponents/SelectWrapper/SelectWrapper";
import { AddAccessRuleIcon } from "../../../../icons";
import { setErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
interface IEditAccessRule {
classes: any;
@@ -54,7 +55,7 @@ const EditAccessRule = ({
toEdit,
initial,
}: IEditAccessRule) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [selectedAccess, setSelectedAccess] = useState<any>(initial);
const accessOptions = [

View File

@@ -51,8 +51,9 @@ import FormSwitchWrapper from "../../Common/FormComponents/FormSwitchWrapper/For
import QueryMultiSelector from "../../Common/FormComponents/QueryMultiSelector/QueryMultiSelector";
import SelectWrapper from "../../Common/FormComponents/SelectWrapper/SelectWrapper";
import RadioGroupSelector from "../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector";
import { useDispatch } from "react-redux";
import { setModalErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -95,7 +96,7 @@ const EditLifecycleConfiguration = ({
lifecycleRule,
open,
}: IAddUserContentProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [loadingTiers, setLoadingTiers] = useState<boolean>(true);
const [addLoading, setAddLoading] = useState<boolean>(false);
const [tags, setTags] = useState<string>("");

View File

@@ -31,13 +31,13 @@ import {
spacingUtils,
} from "../../Common/FormComponents/common/styleLibrary";
import { BucketReplicationRule } from "../types";
import { useDispatch } from "react-redux";
import api from "../../../../common/api";
import { ErrorResponseHandler } from "../../../../common/types";
import PredefinedList from "../../Common/FormComponents/PredefinedList/PredefinedList";
import FormSwitchWrapper from "../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper";
import { setModalErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
interface IEditReplicationModal {
closeModalAndRefresh: (refresh: boolean) => void;
@@ -74,7 +74,7 @@ const EditReplicationModal = ({
bucketName,
ruleID,
}: IEditReplicationModal) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [editLoading, setEditLoading] = useState<boolean>(true);
const [saveEdit, setSaveEdit] = useState<boolean>(false);
const [priority, setPriority] = useState<string>("1");

View File

@@ -31,8 +31,9 @@ import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper";
import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper";
import SelectWrapper from "../../Common/FormComponents/SelectWrapper/SelectWrapper";
import { BucketEncryptionIcon } from "../../../../icons";
import { useDispatch } from "react-redux";
import { setModalErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -56,7 +57,7 @@ const EnableBucketEncryption = ({
selectedBucket,
closeModalAndRefresh,
}: IEnableBucketEncryptionProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [loading, setLoading] = useState<boolean>(false);
const [kmsKeyID, setKmsKeyID] = useState<string>("");
const [encryptionType, setEncryptionType] = useState<string>("disabled");

View File

@@ -38,8 +38,9 @@ import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper";
import api from "../../../../common/api";
import { BucketQuotaIcon } from "../../../../icons";
import InputUnitMenu from "../../Common/FormComponents/InputUnitMenu/InputUnitMenu";
import { useDispatch } from "react-redux";
import { setModalErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -64,7 +65,7 @@ const EnableQuota = ({
selectedBucket,
closeModalAndRefresh,
}: IEnableQuotaProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [loading, setLoading] = useState<boolean>(false);
const [quotaEnabled, setQuotaEnabled] = useState<boolean>(false);
const [quotaSize, setQuotaSize] = useState<string>("1");

View File

@@ -21,8 +21,9 @@ import api from "../../../../common/api";
import { ErrorResponseHandler } from "../../../../common/types";
import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog";
import { ConfirmModalIcon } from "../../../../icons";
import { useDispatch } from "react-redux";
import { setErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
interface IVersioningEventProps {
closeVersioningModalAndRefresh: (refresh: boolean) => void;
@@ -37,7 +38,7 @@ const EnableVersioningModal = ({
selectedBucket,
versioningCurrentState,
}: IVersioningEventProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [versioningLoading, setVersioningLoading] = useState<boolean>(false);
const enableVersioning = () => {

View File

@@ -32,8 +32,9 @@ import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper";
import SelectWrapper from "../../Common/FormComponents/SelectWrapper/SelectWrapper";
import { ChangeAccessPolicyIcon } from "../../../../icons";
import CodeMirrorWrapper from "../../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper";
import { useDispatch } from "react-redux";
import { setModalErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -72,7 +73,7 @@ const SetAccessPolicy = ({
actualDefinition,
closeModalAndRefresh,
}: ISetAccessPolicyProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [addLoading, setAddLoading] = useState<boolean>(false);
const [accessPolicy, setAccessPolicy] = useState<string>("");
const [policyDefinition, setPolicyDefinition] = useState<string>("");

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import { Button, LinearProgress } from "@mui/material";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -38,6 +38,7 @@ import RadioGroupSelector from "../../Common/FormComponents/RadioGroupSelector/R
import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper";
import Loader from "../../Common/Loader/Loader";
import { setModalErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -60,7 +61,7 @@ const SetRetentionConfig = ({
bucketName,
closeModalAndRefresh,
}: ISetRetentionConfigProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [addLoading, setAddLoading] = useState<boolean>(false);
const [loadingForm, setLoadingForm] = useState<boolean>(true);
const [retentionMode, setRetentionMode] = useState<string>("compliance");

View File

@@ -26,8 +26,9 @@ import CloseIcon from "@mui/icons-material/Close";
import AddIcon from "@mui/icons-material/Add";
import withSuspense from "../../../Common/Components/withSuspense";
import Loader from "../../../Common/Loader/Loader";
import { useDispatch } from "react-redux";
import { setErrorSnackMessage } from "../../../../../systemSlice";
import { useAppDispatch } from "../../../../../store";
const AddBucketTagModal = withSuspense(
React.lazy(() => import("../AddBucketTagModal"))
@@ -41,7 +42,7 @@ type BucketTagProps = {
};
const BucketTags = ({ bucketName }: BucketTagProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [tags, setTags] = useState<any>(null);
const [tagModalOpen, setTagModalOpen] = useState<boolean>(false);

View File

@@ -24,8 +24,8 @@ import { containerForHeader } from "../../../Common/FormComponents/common/styleL
import InputBoxWrapper from "../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper";
import RadioGroupSelector from "../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector";
import { k8sScalarUnitsExcluding } from "../../../../../common/utils";
import { AppState } from "../../../../../store";
import { useDispatch, useSelector } from "react-redux";
import { AppState, useAppDispatch } from "../../../../../store";
import { useSelector } from "react-redux";
import FormSwitchWrapper from "../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper";
import PageHeader from "../../../Common/PageHeader/PageHeader";
import BackLink from "../../../../../common/BackLink";
@@ -103,7 +103,7 @@ interface IsetProps {
}
const AddBucket = ({ classes }: IsetProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const versioningEnabled = useSelector(

View File

@@ -17,11 +17,11 @@
import React from "react";
import { setName } from "./addBucketsSlice";
import InputBoxWrapper from "../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper";
import { useDispatch, useSelector } from "react-redux";
import { AppState } from "../../../../../store";
import { useSelector } from "react-redux";
import { AppState, useAppDispatch } from "../../../../../store";
const AddBucketName = () => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const bucketName = useSelector((state: AppState) => state.addBucket.name);
return (

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -47,6 +47,7 @@ import {
} from "../../Configurations/TiersConfiguration/types";
import { MultiBucketResult } from "../types";
import { setModalErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
interface IBulkReplicationModal {
open: boolean;
@@ -83,7 +84,7 @@ const AddBulkReplicationModal = ({
classes,
buckets,
}: IBulkReplicationModal) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [addLoading, setAddLoading] = useState<boolean>(false);
const [loadingTiers, setLoadingTiers] = useState<boolean>(true);
const [tiersList, setTiersList] = useState<ITiersDropDown[]>([]);

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -42,6 +42,7 @@ import { getBytes, k8sScalarUnitsExcluding } from "../../../../common/utils";
import { ErrorResponseHandler } from "../../../../common/types";
import InputUnitMenu from "../../Common/FormComponents/InputUnitMenu/InputUnitMenu";
import { setModalErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
interface IBulkReplicationModal {
open: boolean;
@@ -78,7 +79,7 @@ const AddBulkReplicationModal = ({
classes,
buckets,
}: IBulkReplicationModal) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [bucketsToAlter, setBucketsToAlter] = useState<string[]>([]);
const [addLoading, setAddLoading] = useState<boolean>(false);
const [externalLoading, setExternalLoading] = useState<boolean>(false);

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React from "react";
import { useDispatch } from "react-redux";
import { DialogContentText } from "@mui/material";
import { ErrorResponseHandler } from "../../../../common/types";
@@ -23,6 +23,7 @@ import useApi from "../../Common/Hooks/useApi";
import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog";
import { ConfirmDeleteIcon } from "../../../../icons";
import { setErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
interface IDeleteBucketProps {
closeDeleteModalAndRefresh: (refresh: boolean) => void;
@@ -35,7 +36,7 @@ const DeleteBucket = ({
deleteOpen,
selectedBucket,
}: IDeleteBucketProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const onDelSuccess = () => closeDeleteModalAndRefresh(true);
const onDelError = (err: ErrorResponseHandler) =>
dispatch(setErrorSnackMessage(err));

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import { useNavigate } from "react-router-dom";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -56,6 +56,7 @@ import RBIconButton from "../BucketDetails/SummaryItems/RBIconButton";
import BulkLifecycleModal from "./BulkLifecycleModal";
import hasPermission from "../../../../common/SecureComponent/accessControl";
import { setErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -87,7 +88,7 @@ interface IListBucketsProps {
}
const ListBuckets = ({ classes }: IListBucketsProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const [records, setRecords] = useState<Bucket[]>([]);

View File

@@ -26,12 +26,12 @@ import {
formFieldStyles,
modalStyleUtils,
} from "../../../../Common/FormComponents/common/styleLibrary";
import { connect, useDispatch } from "react-redux";
import { connect } from "react-redux";
import { encodeURLString } from "../../../../../../common/utils";
import { BucketObjectItem } from "./types";
import { CreateNewPathIcon } from "../../../../../../icons";
import { AppState } from "../../../../../../store";
import { AppState, useAppDispatch } from "../../../../../../store";
import { setModalErrorSnackMessage } from "../../../../../../systemSlice";
interface ICreatePath {
@@ -59,7 +59,7 @@ const CreatePathModal = ({
existingFiles,
simplePath,
}: ICreatePath) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const [pathUrl, setPathUrl] = useState("");

View File

@@ -22,8 +22,9 @@ import useApi from "../../../../Common/Hooks/useApi";
import ConfirmDialog from "../../../../Common/ModalWrapper/ConfirmDialog";
import { ConfirmDeleteIcon } from "../../../../../../icons";
import FormSwitchWrapper from "../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper";
import { useDispatch } from "react-redux";
import { setErrorSnackMessage } from "../../../../../../systemSlice";
import { useAppDispatch } from "../../../../../../store";
interface IDeleteObjectProps {
closeDeleteModalAndRefresh: (refresh: boolean) => void;
@@ -42,7 +43,7 @@ const DeleteObject = ({
versioning,
}: IDeleteObjectProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const onDelSuccess = () => closeDeleteModalAndRefresh(true);
const onDelError = (err: ErrorResponseHandler) =>
dispatch(setErrorSnackMessage(err));

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import { DialogContentText } from "@mui/material";
import Grid from "@mui/material/Grid";
import { ErrorResponseHandler } from "../../../../../../common/types";
@@ -25,6 +25,7 @@ import ConfirmDialog from "../../../../Common/ModalWrapper/ConfirmDialog";
import api from "../../../../../../common/api";
import InputBoxWrapper from "../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper";
import { setErrorSnackMessage } from "../../../../../../systemSlice";
import { useAppDispatch } from "../../../../../../store";
interface IDeleteNonCurrentProps {
closeDeleteModalAndRefresh: (refresh: boolean) => void;
@@ -39,7 +40,7 @@ const DeleteNonCurrentVersions = ({
selectedBucket,
selectedObject,
}: IDeleteNonCurrentProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [deleteLoading, setDeleteLoading] = useState<boolean>(false);
const [typeConfirm, setTypeConfirm] = useState<string>("");

View File

@@ -23,8 +23,9 @@ import ConfirmDialog from "../../../../Common/ModalWrapper/ConfirmDialog";
import useApi from "../../../../Common/Hooks/useApi";
import { ConfirmDeleteIcon } from "../../../../../../icons";
import FormSwitchWrapper from "../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper";
import { useDispatch } from "react-redux";
import { setErrorSnackMessage } from "../../../../../../systemSlice";
import { useAppDispatch } from "../../../../../../store";
interface IDeleteObjectProps {
closeDeleteModalAndRefresh: (refresh: boolean) => void;
@@ -45,7 +46,7 @@ const DeleteObject = ({
versioning,
selectedVersion = "",
}: IDeleteObjectProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const onDelSuccess = () => closeDeleteModalAndRefresh(true);
const onDelError = (err: ErrorResponseHandler) =>
dispatch(setErrorSnackMessage(err));

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { useState } from "react";
import { useDispatch } from "react-redux";
import withStyles from "@mui/styles/withStyles";
import {
decodeURLString,
@@ -40,6 +40,7 @@ import { PasswordKeyIcon } from "../../../../../../icons";
import { Box, DialogContentText } from "@mui/material";
import KeyRevealer from "../../../../Tools/KeyRevealer";
import { setErrorSnackMessage } from "../../../../../../systemSlice";
import { useAppDispatch } from "../../../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -63,7 +64,7 @@ const InspectObject = ({
inspectPath,
volumeName,
}: IInspectObjectProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const onClose = () => closeInspectModalAndRefresh(false);
const [isEncrypt, setIsEncrypt] = useState<boolean>(true);
const [decryptionKey, setDecryptionKey] = useState<string>("");

View File

@@ -22,7 +22,7 @@ import React, {
useRef,
useState,
} from "react";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import { useNavigate, useParams } from "react-router-dom";
import { useDropzone } from "react-dropzone";
import { Theme } from "@mui/material/styles";
@@ -66,7 +66,7 @@ import { ErrorResponseHandler } from "../../../../../../common/types";
import ScreenTitle from "../../../../Common/ScreenTitle/ScreenTitle";
import { AppState } from "../../../../../../store";
import { AppState, useAppDispatch } from "../../../../../../store";
import PageLayout from "../../../../Common/Layout/PageLayout";
import { IAM_SCOPES } from "../../../../../../common/SecureComponent/permissions";
@@ -270,7 +270,7 @@ const defLoading = <Typography component="h3">Loading...</Typography>;
const ListObjects = () => {
const classes = useStyles();
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const params = useParams();
const navigate = useNavigate();

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import { Box, Button } from "@mui/material";
import { withStyles } from "@mui/styles";
import createStyles from "@mui/styles/createStyles";
@@ -41,7 +41,7 @@ import {
} from "../../../../../../common/utils";
import { IAM_SCOPES } from "../../../../../../common/SecureComponent/permissions";
import { AppState } from "../../../../../../store";
import { AppState, useAppDispatch } from "../../../../../../store";
import {
DeleteIcon,
DownloadIcon,
@@ -158,7 +158,7 @@ const ObjectDetailPanel = ({
onClosePanel,
}: IObjectDetailPanelProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const distributedSetup = useSelector(selDistSet);
const versionsMode = useSelector(

View File

@@ -15,13 +15,13 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import { Button, LinearProgress } from "@mui/material";
import Grid from "@mui/material/Grid";
import ModalWrapper from "../../../../Common/ModalWrapper/ModalWrapper";
import DateTimePickerWrapper from "../../../../Common/FormComponents/DateTimePickerWrapper/DateTimePickerWrapper";
import FormSwitchWrapper from "../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper";
import { AppState } from "../../../../../../store";
import { AppState, useAppDispatch } from "../../../../../../store";
import {
resetRewind,
setRewindEnable,
@@ -38,7 +38,7 @@ const RewindEnable = ({
open,
bucketName,
}: IRewindEnable) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const rewindEnabled = useSelector(
(state: AppState) => state.objectBrowser.rewind.rewindEnabled

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import { DialogContentText } from "@mui/material";
import { ErrorResponseHandler } from "../../../../../../common/types";
@@ -23,6 +23,7 @@ import ConfirmDialog from "../../../../Common/ModalWrapper/ConfirmDialog";
import { ConfirmDeleteIcon } from "../../../../../../icons";
import api from "../../../../../../common/api";
import { setErrorSnackMessage } from "../../../../../../systemSlice";
import { useAppDispatch } from "../../../../../../store";
interface IDeleteSelectedVersionsProps {
closeDeleteModalAndRefresh: (refresh: boolean) => void;
@@ -39,7 +40,7 @@ const DeleteObject = ({
selectedVersions,
selectedObject,
}: IDeleteSelectedVersionsProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [deleteLoading, setDeleteLoading] = useState<boolean>(false);
const onClose = () => closeDeleteModalAndRefresh(false);

View File

@@ -17,7 +17,7 @@
import React, { useState } from "react";
import { DialogContentText } from "@mui/material";
import { Theme } from "@mui/material/styles";
import { useDispatch } from "react-redux";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
import { modalBasic } from "../../../../Common/FormComponents/common/styleLibrary";
@@ -28,6 +28,7 @@ import api from "../../../../../../common/api";
import ConfirmDialog from "../../../../Common/ModalWrapper/ConfirmDialog";
import RecoverIcon from "../../../../../../icons/RecoverIcon";
import { setErrorSnackMessage } from "../../../../../../systemSlice";
import { useAppDispatch } from "../../../../../../store";
interface IRestoreFileVersion {
classes: any;
@@ -51,7 +52,7 @@ const RestoreFileVersion = ({
restoreOpen,
onCloseAndUpdate,
}: IRestoreFileVersion) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [restoreLoading, setRestoreLoading] = useState<boolean>(false);
const restoreVersion = () => {

View File

@@ -33,8 +33,9 @@ import ModalWrapper from "../../../../Common/ModalWrapper/ModalWrapper";
import FormSwitchWrapper from "../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper";
import api from "../../../../../../common/api";
import { encodeURLString } from "../../../../../../common/utils";
import { useDispatch } from "react-redux";
import { setModalErrorSnackMessage } from "../../../../../../systemSlice";
import { useAppDispatch } from "../../../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -60,7 +61,7 @@ const SetLegalHoldModal = ({
bucketName,
actualInfo,
}: ISetRetentionProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [legalHoldEnabled, setLegalHoldEnabled] = useState<boolean>(false);
const [isSaving, setIsSaving] = useState<boolean>(false);
const versionId = actualInfo.version_id;

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { useEffect, useRef, useState } from "react";
import { useDispatch } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -37,6 +37,7 @@ import DateSelector from "../../../../Common/FormComponents/DateSelector/DateSel
import api from "../../../../../../common/api";
import { encodeURLString } from "../../../../../../common/utils";
import { setModalErrorSnackMessage } from "../../../../../../systemSlice";
import { useAppDispatch } from "../../../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -81,7 +82,7 @@ const SetRetention = ({
objectInfo,
bucketName,
}: ISetRetentionProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [statusEnabled, setStatusEnabled] = useState<boolean>(true);
const [type, setType] = useState<string>("");
const [date, setDate] = useState<string>("");

View File

@@ -16,7 +16,7 @@
import React, { Fragment, useEffect, useState } from "react";
import get from "lodash/get";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -42,6 +42,7 @@ import {
setModalErrorSnackMessage,
setModalSnackMessage,
} from "../../../../../../systemSlice";
import { useAppDispatch } from "../../../../../../store";
const CopyIcon = React.lazy(() => import("../../../../../../icons/CopyIcon"));
@@ -94,7 +95,7 @@ const ShareFile = ({
bucketName,
dataObject,
}: IShareFileProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const distributedSetup = useSelector(selDistSet);
const [shareURL, setShareURL] = useState<string>("");
const [isLoadingVersion, setIsLoadingVersion] = useState<boolean>(true);

View File

@@ -16,7 +16,7 @@
import React, { Fragment, useState } from "react";
import get from "lodash/get";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import { Box, Button, Grid } from "@mui/material";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -45,6 +45,7 @@ import {
selDistSet,
setModalErrorSnackMessage,
} from "../../../../../../systemSlice";
import { useAppDispatch } from "../../../../../../store";
interface ITagModal {
modalOpen: boolean;
@@ -99,7 +100,7 @@ const AddTagModal = ({
actualInfo,
classes,
}: ITagModal) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const distributedSetup = useSelector(selDistSet);
const [newKey, setNewKey] = useState<string>("");
const [newLabel, setNewLabel] = useState<string>("");

View File

@@ -16,7 +16,7 @@
import React, { Fragment, useEffect, useState } from "react";
import get from "lodash/get";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import { withStyles } from "@mui/styles";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -47,7 +47,7 @@ import {
import ScreenTitle from "../../../../Common/ScreenTitle/ScreenTitle";
import RestoreFileVersion from "./RestoreFileVersion";
import { AppState } from "../../../../../../store";
import { AppState, useAppDispatch } from "../../../../../../store";
import {
DeleteIcon,
DeleteNonCurrentIcon,
@@ -162,7 +162,7 @@ const VersionsNavigator = ({
internalPaths,
bucketName,
}: IVersionsNavigatorProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const searchVersions = useSelector(
(state: AppState) => state.objectBrowser.searchVersions

View File

@@ -15,9 +15,9 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { useCallback, useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import get from "lodash/get";
import { AppState } from "../../../../store";
import { AppState, useAppDispatch } from "../../../../store";
import { Box } from "@mui/material";
import { AlertCloseIcon } from "../../../../icons";
import { Portal } from "@mui/base";
@@ -38,7 +38,7 @@ const stopHideTimer = () => {
};
const MainError = ({ isModal = false }: IMainErrorProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const snackBar = useSelector((state: AppState) => {
return isModal ? state.system.modalSnackBar : state.system.snackBar;
});

View File

@@ -14,7 +14,7 @@
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import IconButton from "@mui/material/IconButton";
import Snackbar from "@mui/material/Snackbar";
import { Dialog, DialogContent, DialogTitle } from "@mui/material";
@@ -25,7 +25,7 @@ import {
deleteDialogStyles,
snackBarCommon,
} from "../FormComponents/common/styleLibrary";
import { AppState } from "../../../../store";
import { AppState, useAppDispatch } from "../../../../store";
import CloseIcon from "@mui/icons-material/Close";
import MainError from "../MainError/MainError";
import { setModalSnackMessage } from "../../../../systemSlice";
@@ -65,7 +65,7 @@ const ModalWrapper = ({
noContentPadding,
titleIcon = null,
}: IModalProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [openSnackbar, setOpenSnackbar] = useState<boolean>(false);
const modalSnackMessage = useSelector(

View File

@@ -16,11 +16,11 @@
import React, { Fragment } from "react";
import { Theme } from "@mui/material/styles";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
import { IconButton, Tooltip } from "@mui/material";
import { AppState } from "../../../../store";
import { AppState, useAppDispatch } from "../../../../store";
import { RemoveAllIcon } from "../../../../icons";
import ObjectHandled from "./ObjectHandled";
import {
@@ -86,7 +86,7 @@ interface IObjectManager {
}
const ObjectManager = ({ classes }: IObjectManager) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const objects = useSelector(
(state: AppState) => state.objectBrowser.objectManager.objectsToManage

View File

@@ -16,12 +16,12 @@
import React, { Fragment, useEffect, useState } from "react";
import { Theme } from "@mui/material/styles";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import Grid from "@mui/material/Grid";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
import IconButton from "@mui/material/IconButton";
import { AppState } from "../../../../store";
import { AppState, useAppDispatch } from "../../../../store";
import OperatorLogo from "../../../../icons/OperatorLogo";
import ConsoleLogo from "../../../../icons/ConsoleLogo";
@@ -101,7 +101,7 @@ const PageHeader = ({
actions,
middleComponent,
}: IPageHeader) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const sidebarOpen = useSelector(
(state: AppState) => state.system.sidebarOpen

View File

@@ -18,7 +18,7 @@ import React, { Fragment, useEffect, useState } from "react";
import Grid from "@mui/material/Grid";
import { Box, Button, LinearProgress } from "@mui/material";
import { useNavigate } from "react-router-dom";
import { useDispatch } from "react-redux";
import RBIconButton from "../../Buckets/BucketDetails/SummaryItems/RBIconButton";
import useApi from "../../Common/Hooks/useApi";
import { AddIcon, ClustersIcon, RemoveIcon } from "../../../../icons";
@@ -33,6 +33,7 @@ import {
setErrorSnackMessage,
setSnackBarMessage,
} from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
type SiteInputRow = {
name: string;
@@ -55,7 +56,7 @@ const isValidEndPoint = (ep: string) => {
}
};
const AddReplicationSites = () => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const [existingSites, setExistingSites] = useState<SiteInputRow[]>([]);

View File

@@ -26,7 +26,7 @@ import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog";
import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper";
import Grid from "@mui/material/Grid";
import useApi from "../../Common/Hooks/useApi";
import { useDispatch } from "react-redux";
import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper";
import withStyles from "@mui/styles/withStyles";
import { Theme } from "@mui/material/styles";
@@ -40,6 +40,7 @@ import {
setErrorSnackMessage,
setSnackBarMessage,
} from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -59,7 +60,7 @@ const ReplicationSites = ({
onRefresh: () => void;
classes: any;
}) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [deleteSiteKey, setIsDeleteSiteKey] = useState<string>("");
const [editSite, setEditSite] = useState<any>(null);
const [editEndPointName, setEditEndPointName] = useState<string>("");

View File

@@ -16,7 +16,7 @@
import React, { Fragment, useEffect, useState } from "react";
import { useNavigate } from "react-router-dom";
import { useDispatch } from "react-redux";
import { Box, DialogContentText, Grid } from "@mui/material";
import PageHeader from "../../Common/PageHeader/PageHeader";
import PageLayout from "../../Common/Layout/PageLayout";
@@ -40,6 +40,7 @@ import {
setSnackBarMessage,
} from "../../../../systemSlice";
import AButton from "../../Common/AButton/AButton";
import { useAppDispatch } from "../../../../store";
export type ReplicationSite = {
deploymentID: string;
@@ -49,7 +50,7 @@ export type ReplicationSite = {
};
const SiteReplication = () => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const [sites, setSites] = useState([]);

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useCallback, useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import { useNavigate, useParams } from "react-router-dom";
import get from "lodash/get";
import Grid from "@mui/material/Grid";
@@ -47,6 +47,7 @@ import { IAM_PAGES } from "../../../../common/SecureComponent/permissions";
import RegionSelectWrapper from "./RegionSelectWrapper";
import { setErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -82,7 +83,7 @@ const AddTierConfiguration = ({
classes,
history,
}: IAddNotificationEndpointProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const params = useParams();

View File

@@ -16,7 +16,7 @@
import React, { Fragment, useEffect, useState } from "react";
import get from "lodash/get";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -56,6 +56,7 @@ import { tierTypes } from "./utils";
import RBIconButton from "../../Buckets/BucketDetails/SummaryItems/RBIconButton";
import { selDistSet, setErrorSnackMessage } from "../../../../systemSlice";
import { useNavigate } from "react-router-dom";
import { useAppDispatch } from "../../../../store";
const UpdateTierCredentialsModal = withSuspense(
React.lazy(() => import("./UpdateTierCredentialsModal"))
@@ -94,7 +95,7 @@ const styles = (theme: Theme) =>
});
const ListTiersConfiguration = ({ classes }: IListTiersConfig) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const distributedSetup = useSelector(selDistSet);

View File

@@ -16,7 +16,7 @@
import React, { Fragment, useEffect, useState } from "react";
import get from "lodash/get";
import { useDispatch } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -35,6 +35,7 @@ import { ErrorResponseHandler } from "../../../../common/types";
import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper";
import { LockIcon } from "../../../../icons";
import { setModalErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
interface ITierCredentialsModal {
open: boolean;
@@ -58,7 +59,7 @@ const UpdateTierCredentialsModal = ({
classes,
tierData,
}: ITierCredentialsModal) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [savingTiers, setSavingTiers] = useState<boolean>(false);
const [accessKey, setAccessKey] = useState<string>("");
const [secretKey, setSecretKey] = useState<string>("");

View File

@@ -29,8 +29,8 @@ import { Button, LinearProgress } from "@mui/material";
import CssBaseline from "@mui/material/CssBaseline";
import Snackbar from "@mui/material/Snackbar";
import { Navigate, Route, Routes, useLocation } from "react-router-dom";
import { useDispatch, useSelector } from "react-redux";
import { AppState } from "../../store";
import { useSelector } from "react-redux";
import { AppState, useAppDispatch } from "../../store";
import { snackBarCommon } from "./Common/FormComponents/common/styleLibrary";
import { ErrorResponseHandler } from "../../common/types";
@@ -179,7 +179,7 @@ interface IConsoleProps {
}
const Console = ({ classes }: IConsoleProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const { pathname = "" } = useLocation();
const open = useSelector((state: AppState) => state.system.sidebarOpen);
const session = useSelector(selSession);

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useCallback, useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import get from "lodash/get";
import PrDashboard from "./Prometheus/PrDashboard";
import PageHeader from "../Common/PageHeader/PageHeader";
@@ -31,6 +31,7 @@ import { Usage } from "./types";
import { ErrorResponseHandler } from "../../../common/types";
import BasicDashboard from "./BasicDashboard/BasicDashboard";
import { setErrorSnackMessage } from "../../../systemSlice";
import { useAppDispatch } from "../../../store";
interface IDashboardSimple {
classes: any;
@@ -42,7 +43,7 @@ const styles = (theme: Theme) =>
});
const Dashboard = ({ classes }: IDashboardSimple) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [loading, setLoading] = useState<boolean>(true);
const [basicResult, setBasicResult] = useState<Usage | null>(null);

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useCallback, useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import Grid from "@mui/material/Grid";
import { Theme } from "@mui/material/styles";
@@ -35,7 +35,7 @@ import api from "../../../../common/api";
import TabSelector from "../../Common/TabSelector/TabSelector";
import { componentToUse } from "./widgetUtils";
import ZoomWidget from "./ZoomWidget";
import { AppState } from "../../../../store";
import { AppState, useAppDispatch } from "../../../../store";
import DateRangeSelector from "../../Common/FormComponents/DateRangeSelector/DateRangeSelector";
import {
DLayoutColumnProps,
@@ -67,7 +67,7 @@ const styles = (theme: Theme) =>
});
const PrDashboard = ({ apiPrefix = "admin" }: IPrDashboard) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const zoomOpen = useSelector(
(state: AppState) => state.dashboard.zoom.openZoom
);

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import {
Bar,
BarChart,
@@ -41,6 +41,7 @@ import { useTheme } from "@mui/styles";
import Loader from "../../../Common/Loader/Loader";
import ExpandGraphLink from "./ExpandGraphLink";
import { setErrorSnackMessage } from "../../../../../systemSlice";
import { useAppDispatch } from "../../../../../store";
interface IBarChartWidget {
classes: any;
@@ -90,7 +91,7 @@ const BarChartWidget = ({
apiPrefix,
zoomActivated = false,
}: IBarChartWidget) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [loading, setLoading] = useState<boolean>(true);
const [data, setData] = useState<any>([]);
const [result, setResult] = useState<IDashboardPanel | null>(null);

View File

@@ -20,7 +20,6 @@ import { Box } from "@mui/material";
import api from "../../../../../common/api";
import { widgetDetailsToPanel } from "../utils";
import { ErrorResponseHandler } from "../../../../../common/types";
import { useDispatch } from "react-redux";
import {
calculateBytes,
@@ -31,6 +30,7 @@ import { Cell, Pie, PieChart } from "recharts";
import { ReportedUsageIcon } from "../../../../../icons";
import Loader from "../../../Common/Loader/Loader";
import { setErrorSnackMessage } from "../../../../../systemSlice";
import { useAppDispatch } from "../../../../../store";
const CapacityItem = ({
value,
@@ -45,7 +45,7 @@ const CapacityItem = ({
propLoading: boolean;
apiPrefix: string;
}) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [loading, setLoading] = useState<boolean>(true);
const [totalUsableFree, setTotalUsableFree] = useState<number>(0);

View File

@@ -21,8 +21,9 @@ import { widgetDetailsToPanel } from "../utils";
import { ErrorResponseHandler } from "../../../../../common/types";
import { IDashboardPanel } from "../types";
import Loader from "../../../Common/Loader/Loader";
import { useDispatch } from "react-redux";
import { setErrorSnackMessage } from "../../../../../systemSlice";
import { useAppDispatch } from "../../../../../store";
const EntityStateStatItem = ({
panelItem,
@@ -39,7 +40,7 @@ const EntityStateStatItem = ({
apiPrefix: string;
statLabel: any;
}) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [loading, setLoading] = useState<boolean>(true);
const [data, setData] = useState<string>("");

View File

@@ -18,11 +18,12 @@ import React from "react";
import ZoomOutMapIcon from "@mui/icons-material/ZoomOutMap";
import { Box } from "@mui/material";
import { IDashboardPanel } from "../types";
import { useDispatch } from "react-redux";
import { openZoomPage } from "../../dashboardSlice";
import { useAppDispatch } from "../../../../../store";
const ExpandGraphLink = ({ panelItem }: { panelItem: IDashboardPanel }) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
return (
<Box
sx={{

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import {
Area,
AreaChart,
@@ -41,6 +41,7 @@ import { useTheme } from "@mui/styles";
import Loader from "../../../Common/Loader/Loader";
import ExpandGraphLink from "./ExpandGraphLink";
import { setErrorSnackMessage } from "../../../../../systemSlice";
import { useAppDispatch } from "../../../../../store";
interface ILinearGraphWidget {
classes: any;
@@ -107,7 +108,7 @@ const LinearGraphWidget = ({
xAxisFormatter = (item: string) => item,
zoomActivated = false,
}: ILinearGraphWidget) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [loading, setLoading] = useState<boolean>(true);
const [data, setData] = useState<object[]>([]);
const [dataMax, setDataMax] = useState<number>(0);

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -30,6 +30,7 @@ import get from "lodash/get";
import api from "../../../../../common/api";
import Loader from "../../../Common/Loader/Loader";
import { setErrorSnackMessage } from "../../../../../systemSlice";
import { useAppDispatch } from "../../../../../store";
interface IPieChartWidget {
classes: any;
@@ -77,7 +78,7 @@ const PieChartWidget = ({
apiPrefix,
}: IPieChartWidget) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [loading, setLoading] = useState<boolean>(true);
const [dataInner, setDataInner] = useState<object[]>([]);
const [dataOuter, setDataOuter] = useState<object[]>([]);

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useEffect, useState } from "react";
import { connect, useDispatch } from "react-redux";
import { connect } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -26,6 +26,7 @@ import { IDashboardPanel } from "../types";
import { ErrorResponseHandler } from "../../../../../common/types";
import Loader from "../../../Common/Loader/Loader";
import { setErrorSnackMessage } from "../../../../../systemSlice";
import { useAppDispatch } from "../../../../../store";
interface ISimpleWidget {
classes: any;
@@ -74,7 +75,7 @@ const SimpleWidget = ({
apiPrefix,
renderFn,
}: ISimpleWidget) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [loading, setLoading] = useState<boolean>(true);
const [data, setData] = useState<string>("");

View File

@@ -15,8 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { useEffect, useState } from "react";
import { connect, useDispatch } from "react-redux";
import { connect } from "react-redux";
import { IDashboardPanel } from "../types";
import { widgetDetailsToPanel } from "../utils";
import { ErrorResponseHandler } from "../../../../../common/types";
@@ -26,6 +25,7 @@ import DashboardItemBox from "../../DashboardItemBox";
import BucketsCountItem from "./BucketsCountItem";
import ObjectsCountItem from "./ObjectsCountItem";
import { setErrorSnackMessage } from "../../../../../systemSlice";
import { useAppDispatch } from "../../../../../store";
interface ISingleRepWidget {
title: string;
@@ -48,7 +48,7 @@ const SingleRepWidget = ({
apiPrefix,
}: ISingleRepWidget) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [loading, setLoading] = useState<boolean>(true);
const [result, setResult] = useState<IDashboardPanel | null>(null);

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useEffect, useState } from "react";
import { connect, useDispatch } from "react-redux";
import { connect } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -24,9 +24,9 @@ import Loader from "../../../Common/Loader/Loader";
import { widgetCommon } from "../../../Common/FormComponents/common/styleLibrary";
import { splitSizeMetric, widgetDetailsToPanel } from "../utils";
import { IDashboardPanel } from "../types";
import { ErrorResponseHandler } from "../../../../../common/types";
import { setErrorSnackMessage } from "../../../../../systemSlice";
import { useAppDispatch } from "../../../../../store";
interface ISingleValueWidget {
title: string;
@@ -81,7 +81,7 @@ const SingleValueWidget = ({
apiPrefix,
renderFn,
}: ISingleValueWidget) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [loading, setLoading] = useState<boolean>(true);
const [data, setData] = useState<string>("");

View File

@@ -15,11 +15,12 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment } from "react";
import { useDispatch } from "react-redux";
import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper";
import { IDashboardPanel } from "./types";
import { componentToUse } from "./widgetUtils";
import { closeZoomPage } from "../dashboardSlice";
import { useAppDispatch } from "../../../../store";
interface IZoomWidget {
widgetRender: number;
@@ -37,7 +38,7 @@ const ZoomWidget = ({
timeEnd,
apiPrefix,
}: IZoomWidget) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
if (!value) {
return null;
}

View File

@@ -7,7 +7,6 @@ import { Button } from "@mui/material";
import api from "../../../common/api";
import { ErrorResponseHandler } from "../../../common/types";
import { useDispatch } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import {
@@ -19,6 +18,7 @@ import withStyles from "@mui/styles/withStyles";
import { AddMembersToGroupIcon } from "../../../icons";
import { encodeURLString } from "../../../common/utils";
import { setModalErrorSnackMessage } from "../../../systemSlice";
import { useAppDispatch } from "../../../store";
type UserPickerModalProps = {
classes?: any;
@@ -53,7 +53,7 @@ const AddGroupMember = ({
open,
onClose,
}: UserPickerModalProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [selectedUsers, setSelectedUsers] = useState(preSelectedUsers);
function addMembersToGroup() {

View File

@@ -31,7 +31,7 @@ import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWr
import AddGroupHelpBox from "./AddGroupHelpBox";
import UsersSelectors from "./UsersSelectors";
import BackLink from "../../../common/BackLink";
import { useDispatch } from "react-redux";
import { CreateGroupIcon } from "../../../icons";
import { IAM_PAGES } from "../../../common/SecureComponent/permissions";
import { ErrorResponseHandler } from "../../../../src/common/types";
@@ -39,6 +39,7 @@ import api from "../../../../src/common/api";
import FormLayout from "../Common/FormLayout";
import { setErrorSnackMessage } from "../../../systemSlice";
import { useAppDispatch } from "../../../store";
interface IAddGroupProps {
classes: any;
@@ -64,7 +65,7 @@ const styles = (theme: Theme) =>
});
const AddGroupScreen = ({ classes }: IAddGroupProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const [groupName, setGroupName] = useState<string>("");
const [saving, isSaving] = useState<boolean>(false);

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React from "react";
import { useDispatch } from "react-redux";
import { DialogContentText } from "@mui/material";
import { ErrorResponseHandler } from "../../../common/types";
@@ -24,6 +24,7 @@ import useApi from "../Common/Hooks/useApi";
import { ConfirmDeleteIcon } from "../../../icons";
import { encodeURLString } from "../../../common/utils";
import { setErrorSnackMessage } from "../../../systemSlice";
import { useAppDispatch } from "../../../store";
interface IDeleteGroup {
selectedGroups: string[];
@@ -36,7 +37,7 @@ const DeleteGroup = ({
deleteOpen,
closeDeleteModalAndRefresh,
}: IDeleteGroup) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const onDelSuccess = () => closeDeleteModalAndRefresh(true);
const onDelError = (err: ErrorResponseHandler) => {
dispatch(setErrorSnackMessage(err));

View File

@@ -58,8 +58,9 @@ import {
import withSuspense from "../Common/Components/withSuspense";
import RBIconButton from "../Buckets/BucketDetails/SummaryItems/RBIconButton";
import { encodeURLString } from "../../../common/utils";
import { useDispatch } from "react-redux";
import { setErrorSnackMessage } from "../../../systemSlice";
import { useAppDispatch } from "../../../store";
const DeleteGroup = withSuspense(React.lazy(() => import("./DeleteGroup")));
const SetPolicy = withSuspense(
@@ -87,7 +88,7 @@ const styles = (theme: Theme) =>
});
const Groups = ({ classes }: IGroupsProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const [deleteOpen, setDeleteOpen] = useState<boolean>(false);

View File

@@ -10,7 +10,6 @@ import {
tableStyles,
} from "../Common/FormComponents/common/styleLibrary";
import { useDispatch } from "react-redux";
import withStyles from "@mui/styles/withStyles";
import { Grid } from "@mui/material";
import ScreenTitle from "../Common/ScreenTitle/ScreenTitle";
@@ -44,6 +43,7 @@ import GroupDetailsHeader from "./GroupDetailsHeader";
import RBIconButton from "../Buckets/BucketDetails/SummaryItems/RBIconButton";
import { decodeURLString, encodeURLString } from "../../../common/utils";
import { setModalErrorSnackMessage } from "../../../systemSlice";
import { useAppDispatch } from "../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -107,7 +107,7 @@ export const formatPolicy = (policy: string = ""): string[] => {
};
const GroupsDetails = ({ classes }: IGroupDetailsProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const params = useParams();

View File

@@ -34,8 +34,9 @@ import { ErrorResponseHandler } from "../../../common/types";
import api from "../../../common/api";
import TableWrapper from "../Common/TableWrapper/TableWrapper";
import SearchBox from "../Common/SearchBox";
import { useDispatch } from "react-redux";
import { setModalErrorSnackMessage } from "../../../systemSlice";
import { useAppDispatch } from "../../../store";
interface IGroupsProps {
classes: any;
@@ -83,7 +84,7 @@ const UsersSelectors = ({
setSelectedUsers,
editMode = false,
}: IGroupsProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
//Local States
const [records, setRecords] = useState<any[]>([]);
const [loading, isLoading] = useState<boolean>(false);

View File

@@ -19,8 +19,8 @@ import {
IMessageEvent,
w3cwebsocket as W3CWebSocket,
} from "websocket";
import { AppState } from "../../../store";
import { useDispatch, useSelector } from "react-redux";
import { AppState, useAppDispatch } from "../../../store";
import { useSelector } from "react-redux";
import {
DiagStatError,
DiagStatInProgress,
@@ -96,7 +96,7 @@ interface IHealthInfo {
}
const HealthInfo = ({ classes }: IHealthInfo) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const message = useSelector((state: AppState) => state.healthInfo.message);

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useState } from "react";
import { useDispatch } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -45,6 +45,7 @@ import LockOutlinedIcon from "@mui/icons-material/LockOutlined";
import RadioGroupSelector from "../Common/FormComponents/RadioGroupSelector/RadioGroupSelector";
import Link from "@mui/material/Link";
import { setModalErrorSnackMessage } from "../../../systemSlice";
import { useAppDispatch } from "../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -82,7 +83,7 @@ interface IActivationModal {
}
const ActivationModal = ({ classes, open, closeModal }: IActivationModal) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [license, setLicense] = useState<string>("");
const [subnetPassword, setSubnetPassword] = useState<string>("");
const [subnetEmail, setSubnetEmail] = useState<string>("");

View File

@@ -18,7 +18,7 @@ import { IMessageEvent, w3cwebsocket as W3CWebSocket } from "websocket";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import {
Button,
FormControl,
@@ -31,7 +31,7 @@ import {
import moment from "moment/moment";
import { ErrorResponseHandler } from "../../../../../src/common/types";
import api from "../../../../../src/common/api";
import { AppState } from "../../../../store";
import { AppState, useAppDispatch } from "../../../../store";
import { LogMessage } from "../types";
import { wsProtocol } from "../../../../utils/wsUtils";
@@ -108,7 +108,7 @@ const SelectStyled = withStyles((theme: Theme) =>
var c: any = null;
const ErrorLogs = () => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const classes = useStyles();
const messages = useSelector((state: AppState) => state.logs.logMessages);

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useCallback, useEffect, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import get from "lodash/get";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -48,6 +48,7 @@ import { SearchIcon } from "../../../../icons";
import MissingIntegration from "../../Common/MissingIntegration/MissingIntegration";
import { setErrorSnackMessage } from "../../../../systemSlice";
import { selFeatures } from "../../consoleSlice";
import { useAppDispatch } from "../../../../store";
interface ILogSearchProps {
classes: any;
@@ -120,7 +121,7 @@ const styles = (theme: Theme) =>
});
const LogsSearchMain = ({ classes }: ILogSearchProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const features = useSelector(selFeatures);
const [loading, setLoading] = useState<boolean>(true);

View File

@@ -15,14 +15,14 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React from "react";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import { useNavigate } from "react-router-dom";
import { Drawer } from "@mui/material";
import withStyles from "@mui/styles/withStyles";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import clsx from "clsx";
import { AppState } from "../../../store";
import { AppState, useAppDispatch } from "../../../store";
import { ErrorResponseHandler } from "../../../common/types";
import { clearSession } from "../../../common/utils";
@@ -90,7 +90,7 @@ interface IMenuProps {
}
const Menu = ({ classes }: IMenuProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const features = useSelector(selFeatures);

View File

@@ -21,10 +21,10 @@ import { Box, IconButton } from "@mui/material";
import { ChevronLeft } from "@mui/icons-material";
import MenuIcon from "@mui/icons-material/Menu";
import LicensedConsoleLogo from "../Common/Components/LicensedConsoleLogo";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import useApi from "../Common/Hooks/useApi";
import { setLicenseInfo } from "../../../systemSlice";
import { AppState } from "../../../store";
import { AppState, useAppDispatch } from "../../../store";
type MenuToggleProps = {
isOpen: boolean;
@@ -33,7 +33,7 @@ type MenuToggleProps = {
const MenuToggle = ({ isOpen, onToggle }: MenuToggleProps) => {
const stateClsName = isOpen ? "wide" : "mini";
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const licenseInfo = useSelector(
(state: AppState) => state?.system?.licenseInfo

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useCallback, useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import get from "lodash/get";
import Grid from "@mui/material/Grid";
import { Theme } from "@mui/material/styles";
@@ -49,6 +49,7 @@ import {
setServerNeedsRestart,
} from "../../../systemSlice";
import { useNavigate, useParams } from "react-router-dom";
import { useAppDispatch } from "../../../store";
const ConfMySql = withSuspense(
React.lazy(() => import("./CustomForms/ConfMySql"))
@@ -114,7 +115,7 @@ const AddNotificationEndpoint = ({
saveAndRefresh,
classes,
}: IAddNotificationEndpointProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const params = useParams();

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useCallback, useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import { useNavigate } from "react-router-dom";
import get from "lodash/get";
import { Theme } from "@mui/material/styles";
@@ -44,6 +44,7 @@ import {
setErrorSnackMessage,
setServerNeedsRestart,
} from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -67,7 +68,7 @@ const EditConfiguration = ({
classes,
className = "",
}: IAddNotificationEndpointProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
//Local States

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import { DialogContentText, LinearProgress } from "@mui/material";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -27,6 +27,7 @@ import api from "../../../../common/api";
import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog";
import { ConfirmDeleteIcon } from "../../../../icons";
import { setErrorSnackMessage } from "../../../../systemSlice";
import { useAppDispatch } from "../../../../store";
const styles = (theme: Theme) =>
createStyles({
@@ -52,7 +53,7 @@ const ResetConfigurationModal = ({
closeResetModalAndRefresh,
resetOpen,
}: IResetConfiguration) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const [resetLoading, setResetLoading] = useState<boolean>(false);
useEffect(() => {

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import { useNavigate } from "react-router-dom";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -50,6 +50,7 @@ import SearchBox from "../Common/SearchBox";
import RBIconButton from "../Buckets/BucketDetails/SummaryItems/RBIconButton";
import { IAM_PAGES } from "../../../common/SecureComponent/permissions";
import { setErrorSnackMessage } from "../../../systemSlice";
import { useAppDispatch } from "../../../store";
interface IListNotificationEndpoints {
classes: any;
@@ -80,7 +81,7 @@ const styles = (theme: Theme) =>
});
const ListNotificationEndpoints = ({ classes }: IListNotificationEndpoints) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
//Local States
const [records, setRecords] = useState<TransformedEndpointItem[]>([]);

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useState } from "react";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import CopyToClipboard from "react-copy-to-clipboard";
import Grid from "@mui/material/Grid";
import withStyles from "@mui/styles/withStyles";
@@ -31,7 +31,7 @@ import { IAM_SCOPES } from "../../../common/SecureComponent/permissions";
import { BucketObjectItem } from "../Buckets/ListBuckets/Objects/ListObjects/types";
import withSuspense from "../Common/Components/withSuspense";
import { setSnackBarMessage } from "../../../systemSlice";
import { AppState } from "../../../store";
import { AppState, useAppDispatch } from "../../../store";
import { setVersionsModeEnabled } from "./objectBrowserSlice";
import RBIconButton from "../Buckets/BucketDetails/SummaryItems/RBIconButton";
@@ -66,7 +66,7 @@ const BrowserBreadcrumbs = ({
hidePathButton,
additionalOptions,
}: IObjectBrowser) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const rewindEnabled = useSelector(

View File

@@ -15,13 +15,6 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useState } from "react";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
import {
formFieldStyles,
modalStyleUtils,
} from "../Common/FormComponents/common/styleLibrary";
import Grid from "@mui/material/Grid";
import { Box, Button } from "@mui/material";
import PageHeader from "../Common/PageHeader/PageHeader";
@@ -30,40 +23,17 @@ import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWr
import AddPolicyHelpBox from "./AddPolicyHelpBox";
import CodeMirrorWrapper from "../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper";
import BackLink from "../../../common/BackLink";
import { useDispatch } from "react-redux";
import { AddAccessRuleIcon } from "../../../icons";
import { IAM_PAGES } from "../../../common/SecureComponent/permissions";
import { ErrorResponseHandler } from "../../../../src/common/types";
import { ErrorResponseHandler } from "../../../common/types";
import api from "../../../../src/common/api";
import FormLayout from "../Common/FormLayout";
import { setErrorSnackMessage } from "../../../systemSlice";
import { useNavigate } from "react-router-dom";
import { useAppDispatch } from "../../../store";
interface IAddPolicyProps {
classes: any;
}
const styles = (theme: Theme) =>
createStyles({
bottomContainer: {
display: "flex",
flexGrow: 1,
alignItems: "center",
margin: "auto",
justifyContent: "center",
"& div": {
width: 150,
"@media (max-width: 900px)": {
flexFlow: "column",
},
},
},
...formFieldStyles,
...modalStyleUtils,
});
const AddPolicyScreen = ({ classes }: IAddPolicyProps) => {
const dispatch = useDispatch();
const AddPolicyScreen = () => {
const dispatch = useAppDispatch();
const navigate = useNavigate();
const [addLoading, setAddLoading] = useState<boolean>(false);
@@ -185,4 +155,4 @@ const AddPolicyScreen = ({ classes }: IAddPolicyProps) => {
);
};
export default withStyles(styles)(AddPolicyScreen);
export default AddPolicyScreen;

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React from "react";
import { useDispatch } from "react-redux";
import { DialogContentText } from "@mui/material";
import { ErrorResponseHandler } from "../../../common/types";
import useApi from "../Common/Hooks/useApi";
@@ -23,6 +23,7 @@ import ConfirmDialog from "../Common/ModalWrapper/ConfirmDialog";
import { ConfirmDeleteIcon } from "../../../icons";
import { encodeURLString } from "../../../common/utils";
import { setErrorSnackMessage } from "../../../systemSlice";
import { useAppDispatch } from "../../../store";
interface IDeletePolicyProps {
closeDeleteModalAndRefresh: (refresh: boolean) => void;
@@ -35,7 +36,7 @@ const DeletePolicy = ({
deleteOpen,
selectedPolicy,
}: IDeletePolicyProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const onDelSuccess = () => closeDeleteModalAndRefresh(true);
const onDelError = (err: ErrorResponseHandler) =>
dispatch(setErrorSnackMessage(err));

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { Fragment, useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import { useNavigate } from "react-router-dom";
import get from "lodash/get";
import { Theme } from "@mui/material/styles";
@@ -52,6 +52,7 @@ import withSuspense from "../Common/Components/withSuspense";
import RBIconButton from "../Buckets/BucketDetails/SummaryItems/RBIconButton";
import { encodeURLString } from "../../../common/utils";
import { setErrorSnackMessage } from "../../../systemSlice";
import { useAppDispatch } from "../../../store";
const DeletePolicy = withSuspense(React.lazy(() => import("./DeletePolicy")));
@@ -71,7 +72,7 @@ interface IPoliciesProps {
}
const ListPolicies = ({ classes }: IPoliciesProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const [records, setRecords] = useState<Policy[]>([]);

View File

@@ -15,7 +15,7 @@
import React, { Fragment, useEffect, useState } from "react";
import { IAMPolicy, IAMStatement, Policy } from "./types";
import { useDispatch, useSelector } from "react-redux";
import { useSelector } from "react-redux";
import { useNavigate, useParams } from "react-router-dom";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -61,6 +61,7 @@ import PolicyView from "./PolicyView";
import { decodeURLString, encodeURLString } from "../../../common/utils";
import { setErrorSnackMessage, setSnackBarMessage } from "../../../systemSlice";
import { selFeatures } from "../consoleSlice";
import { useAppDispatch } from "../../../store";
const DeletePolicy = withSuspense(React.lazy(() => import("./DeletePolicy")));
@@ -98,7 +99,7 @@ interface IPolicyDetailsProps {
}
const PolicyDetails = ({ classes }: IPolicyDetailsProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
const navigate = useNavigate();
const params = useParams();

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { useCallback, useEffect, useState } from "react";
import { useDispatch } from "react-redux";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
import withStyles from "@mui/styles/withStyles";
@@ -35,6 +35,7 @@ import api from "../../../common/api";
import TableWrapper from "../Common/TableWrapper/TableWrapper";
import SearchBox from "../Common/SearchBox";
import { setModalErrorSnackMessage } from "../../../systemSlice";
import { useAppDispatch } from "../../../store";
interface ISelectPolicyProps {
classes: any;
@@ -78,7 +79,7 @@ const PolicySelectors = ({
selectedPolicy = [],
setSelectedPolicy,
}: ISelectPolicyProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
// Local State
const [records, setRecords] = useState<any[]>([]);
const [loading, isLoading] = useState<boolean>(false);

View File

@@ -15,7 +15,7 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
import React, { useEffect, useState, Fragment } from "react";
import { useDispatch } from "react-redux";
import get from "lodash/get";
import { Theme } from "@mui/material/styles";
import createStyles from "@mui/styles/createStyles";
@@ -36,6 +36,7 @@ import PolicySelectors from "./PolicySelectors";
import PredefinedList from "../Common/FormComponents/PredefinedList/PredefinedList";
import { encodeURLString } from "../../../common/utils";
import { setModalErrorSnackMessage } from "../../../systemSlice";
import { useAppDispatch } from "../../../store";
interface ISetPolicyProps {
classes: any;
@@ -66,7 +67,7 @@ const SetPolicy = ({
selectedGroups,
open,
}: ISetPolicyProps) => {
const dispatch = useDispatch();
const dispatch = useAppDispatch();
//Local States
const [loading, setLoading] = useState<boolean>(false);
const [actualPolicy, setActualPolicy] = useState<string[]>([]);

Some files were not shown because too many files have changed in this diff Show More