diff --git a/portal-ui/src/screens/Console/Common/FormComponents/common/styleLibrary.ts b/portal-ui/src/screens/Console/Common/FormComponents/common/styleLibrary.ts index 4120e9754..f2ae4d978 100644 --- a/portal-ui/src/screens/Console/Common/FormComponents/common/styleLibrary.ts +++ b/portal-ui/src/screens/Console/Common/FormComponents/common/styleLibrary.ts @@ -197,8 +197,8 @@ export const actionsTray = { actionsTray: { display: "flex" as const, justifyContent: "space-between" as const, - marginBottom: "1rem", alignItems: "center", + marginBottom: "1rem", "& button": { flexGrow: 0, marginLeft: 8, diff --git a/portal-ui/src/screens/Console/Common/SearchBox.tsx b/portal-ui/src/screens/Console/Common/SearchBox.tsx index 3df18867c..c13d17dea 100644 --- a/portal-ui/src/screens/Console/Common/SearchBox.tsx +++ b/portal-ui/src/screens/Console/Common/SearchBox.tsx @@ -23,6 +23,7 @@ type SearchBoxProps = { value: string; onChange: (value: string) => void; overrideClass?: any; + id?: string; sx?: CSSObject; }; @@ -31,23 +32,20 @@ const SearchBox = ({ onChange, overrideClass, value, + id = "search-resource", sx, }: SearchBoxProps) => { return ( { onChange(e.target.value); }} value={value} - overlayObject={ - - } + startIcon={} sx={sx} /> ); diff --git a/portal-ui/src/screens/Console/Policies/AddPolicyScreen.tsx b/portal-ui/src/screens/Console/Policies/AddPolicyScreen.tsx index 51ccc5790..6ba0576b8 100644 --- a/portal-ui/src/screens/Console/Policies/AddPolicyScreen.tsx +++ b/portal-ui/src/screens/Console/Policies/AddPolicyScreen.tsx @@ -15,27 +15,27 @@ // along with this program. If not, see . import React, { Fragment, useEffect, useState } from "react"; -import Grid from "@mui/material/Grid"; -import { Box } from "@mui/material"; import { AddAccessRuleIcon, BackLink, Button, FormLayout, PageLayout, + Box, + Grid, + InputBox, } from "mds"; -import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import AddPolicyHelpBox from "./AddPolicyHelpBox"; import CodeMirrorWrapper from "../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper"; +import PageHeaderWrapper from "../Common/PageHeaderWrapper/PageHeaderWrapper"; +import HelpMenu from "../HelpMenu"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; import { setErrorSnackMessage, setHelpName } from "../../../systemSlice"; import { useNavigate } from "react-router-dom"; import { useAppDispatch } from "../../../store"; import { emptyPolicy } from "./utils"; -import PageHeaderWrapper from "../Common/PageHeaderWrapper/PageHeaderWrapper"; import { api } from "../../../api"; import { Error, HttpResponse, Policy } from "../../../api/consoleApi"; -import HelpMenu from "../HelpMenu"; const AddPolicyScreen = () => { const dispatch = useAppDispatch(); @@ -119,9 +119,9 @@ const AddPolicyScreen = () => { addRecord(e); }} > - + - { editorHeight={"350px"} /> - + . -import React from "react"; - -import { DialogContentText } from "@mui/material"; +import React, { Fragment } from "react"; import { ErrorResponseHandler } from "../../../common/types"; import useApi from "../Common/Hooks/useApi"; import ConfirmDialog from "../Common/ModalWrapper/ConfirmDialog"; @@ -65,10 +63,10 @@ const DeletePolicy = ({ onConfirm={onConfirmDelete} onClose={onClose} confirmationContent={ - + Are you sure you want to delete policy
{selectedPolicy}? -
+ } /> ); diff --git a/portal-ui/src/screens/Console/Policies/ListPolicies.tsx b/portal-ui/src/screens/Console/Policies/ListPolicies.tsx index 049ac3d2f..df6bfda34 100644 --- a/portal-ui/src/screens/Console/Policies/ListPolicies.tsx +++ b/portal-ui/src/screens/Console/Policies/ListPolicies.tsx @@ -15,21 +15,18 @@ // along with this program. If not, see . import React, { Fragment, useEffect, useState } from "react"; -import { AddIcon, Button, HelpBox, IAMPoliciesIcon, PageLayout } from "mds"; -import { useNavigate } from "react-router-dom"; -import { Theme } from "@mui/material/styles"; -import createStyles from "@mui/styles/createStyles"; -import withStyles from "@mui/styles/withStyles"; -import Grid from "@mui/material/Grid"; - import { - actionsTray, - containerForHeader, - searchField, -} from "../Common/FormComponents/common/styleLibrary"; + AddIcon, + Button, + DataTable, + Grid, + HelpBox, + IAMPoliciesIcon, + PageLayout, +} from "mds"; +import { useNavigate } from "react-router-dom"; +import { actionsTray } from "../Common/FormComponents/common/styleLibrary"; import { ErrorResponseHandler } from "../../../common/types"; - -import TableWrapper from "../Common/TableWrapper/TableWrapper"; import { CONSOLE_UI_RESOURCE, createPolicyPermissions, @@ -44,42 +41,25 @@ import { hasPermission, SecureComponent, } from "../../../common/SecureComponent"; -import SearchBox from "../Common/SearchBox"; - -import withSuspense from "../Common/Components/withSuspense"; - -import { encodeURLString } from "../../../common/utils"; -import { setErrorSnackMessage, setHelpName } from "../../../systemSlice"; -import { useAppDispatch } from "../../../store"; -import TooltipWrapper from "../Common/TooltipWrapper/TooltipWrapper"; -import PageHeaderWrapper from "../Common/PageHeaderWrapper/PageHeaderWrapper"; -import { api } from "../../../api"; import { Error, HttpResponse, ListPoliciesResponse, Policy, } from "../../../api/consoleApi"; +import { encodeURLString } from "../../../common/utils"; +import { setErrorSnackMessage, setHelpName } from "../../../systemSlice"; +import { useAppDispatch } from "../../../store"; +import { api } from "../../../api"; +import SearchBox from "../Common/SearchBox"; +import withSuspense from "../Common/Components/withSuspense"; +import TooltipWrapper from "../Common/TooltipWrapper/TooltipWrapper"; +import PageHeaderWrapper from "../Common/PageHeaderWrapper/PageHeaderWrapper"; import HelpMenu from "../HelpMenu"; const DeletePolicy = withSuspense(React.lazy(() => import("./DeletePolicy"))); -const styles = (theme: Theme) => - createStyles({ - ...actionsTray, - ...searchField, - searchField: { - ...searchField.searchField, - maxWidth: 380, - }, - ...containerForHeader, - }); - -interface IPoliciesProps { - classes: any; -} - -const ListPolicies = ({ classes }: IPoliciesProps) => { +const ListPolicies = () => { const dispatch = useAppDispatch(); const navigate = useNavigate(); @@ -194,7 +174,7 @@ const ListPolicies = ({ classes }: IPoliciesProps) => { }, []); return ( - + {deleteOpen && ( { )} } /> - - - + + + { - + - { "view Policy details" ) } - /> + > + + - + } @@ -301,8 +284,8 @@ const ListPolicies = ({ classes }: IPoliciesProps) => { - + ); }; -export default withStyles(styles)(ListPolicies); +export default ListPolicies; diff --git a/portal-ui/src/screens/Console/Policies/PolicyDetails.tsx b/portal-ui/src/screens/Console/Policies/PolicyDetails.tsx index ba963a8a2..87610f639 100644 --- a/portal-ui/src/screens/Console/Policies/PolicyDetails.tsx +++ b/portal-ui/src/screens/Console/Policies/PolicyDetails.tsx @@ -19,34 +19,23 @@ import { useSelector } from "react-redux"; import { useNavigate, useParams } from "react-router-dom"; import { BackLink, + Box, Button, - IAMPoliciesIcon, - RefreshIcon, - SearchIcon, - SectionTitle, - TrashIcon, - PageLayout, + DataTable, Grid, + IAMPoliciesIcon, + PageLayout, + RefreshIcon, + ScreenTitle, + SectionTitle, + Tabs, + TrashIcon, } from "mds"; -import { Theme } from "@mui/material/styles"; -import createStyles from "@mui/styles/createStyles"; -import withStyles from "@mui/styles/withStyles"; -import { - actionsTray, - containerForHeader, - modalBasic, - searchField, -} from "../Common/FormComponents/common/styleLibrary"; -import Paper from "@mui/material/Paper"; -import { Grid as MUIGrid, LinearProgress } from "@mui/material"; -import TableWrapper from "../Common/TableWrapper/TableWrapper"; +import { actionsTray } from "../Common/FormComponents/common/styleLibrary"; +import { LinearProgress } from "@mui/material"; import { ErrorResponseHandler } from "../../../common/types"; import CodeMirrorWrapper from "../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper"; -import InputAdornment from "@mui/material/InputAdornment"; -import TextField from "@mui/material/TextField"; -import ScreenTitle from "../Common/ScreenTitle/ScreenTitle"; -import VerticalTabs from "../Common/VerticalTabs/VerticalTabs"; import { CONSOLE_UI_RESOURCE, @@ -87,38 +76,11 @@ import { } from "../../../api/consoleApi"; import { api } from "../../../api"; import HelpMenu from "../HelpMenu"; +import SearchBox from "../Common/SearchBox"; const DeletePolicy = withSuspense(React.lazy(() => import("./DeletePolicy"))); -const styles = (theme: Theme) => - createStyles({ - buttonContainer: { - display: "flex", - justifyContent: "flex-end", - paddingTop: 16, - "& button": { - marginLeft: 8, - }, - }, - pageContainer: { - border: "1px solid #EAEAEA", - height: "100%", - }, - paperContainer: { - padding: "15px 15px 15px 50px", - minHeight: "450px", - }, - ...actionsTray, - ...searchField, - ...modalBasic, - ...containerForHeader, - }); - -interface IPolicyDetailsProps { - classes: any; -} - -const PolicyDetails = ({ classes }: IPolicyDetailsProps) => { +const PolicyDetails = () => { const dispatch = useAppDispatch(); const navigate = useNavigate(); const params = useParams(); @@ -140,6 +102,7 @@ const PolicyDetails = ({ classes }: IPolicyDetailsProps) => { const [filterGroups, setFilterGroups] = useState(""); const [loadingGroups, setLoadingGroups] = useState(true); const [deleteOpen, setDeleteOpen] = useState(false); + const [selectedTab, setSelectedTab] = useState("summary"); const ldapIsEnabled = (features && features.includes("ldap-idp")) || false; @@ -386,271 +349,284 @@ const PolicyDetails = ({ classes }: IPolicyDetailsProps) => { } actions={} /> - - - - - - - } - title={policyName} - subTitle={IAM Policy} - actions={ - - - + } + title={policyName} + subTitle={IAM Policy} + actions={ + + + + - )} - - - + )} + + +