diff --git a/src/api/roles.ts b/src/api/roles.ts index f1e9cbe..89014c4 100644 --- a/src/api/roles.ts +++ b/src/api/roles.ts @@ -1,30 +1,30 @@ -const MOCK_DATA_USERS = [ - { +export const MOCK_DATA_USERS = [ + { key: 0, id: "someid1", name: "admin", - desc:"Администратор сервиса" - }, - { + desc: "Администратор сервиса", + }, + { key: 1, id: "someid2", name: "manager", - desc:"Менеджер сервиса" - }, - { + desc: "Менеджер сервиса", + }, + { key: 2, id: "someid3", name: "user", - desc:"Пользователь сервиса" - } + desc: "Пользователь сервиса", + }, ]; export type TMockData = typeof MOCK_DATA_USERS; -export const getRoles_mock = ():Promise => { - return new Promise((resolve) => { - setTimeout(() => { - resolve( MOCK_DATA_USERS ); - }, 1000); - }); -} \ No newline at end of file +export const getRoles_mock = (): Promise => { + return new Promise((resolve) => { + setTimeout(() => { + resolve(MOCK_DATA_USERS); + }, 1000); + }); +}; diff --git a/src/pages/Setting/FormCreateRoles.tsx b/src/pages/Setting/FormCreateRoles.tsx new file mode 100644 index 0000000..2621fec --- /dev/null +++ b/src/pages/Setting/FormCreateRoles.tsx @@ -0,0 +1,79 @@ +import { useState } from "react"; + +import { + Button, + Checkbox, + FormControl, + ListItemText, + MenuItem, + Select, + SelectChangeEvent, + TextField, +} from "@mui/material"; +import { MOCK_DATA_USERS } from "@root/api/roles"; + +const ITEM_HEIGHT = 48; +const ITEM_PADDING_TOP = 8; +const MenuProps = { + PaperProps: { + style: { + maxHeight: ITEM_HEIGHT * 4.5 + ITEM_PADDING_TOP, + }, + }, +}; + +export default function CreateForm() { + const [personName, setPersonName] = useState([]); + + const handleChange = (event: SelectChangeEvent) => { + const { + target: { value }, + } = event; + setPersonName(typeof value === "string" ? value.split(",") : value); + }; + + return ( + <> + + + + + + + ); +} diff --git a/src/pages/Setting/FormDeleteRoles.tsx b/src/pages/Setting/FormDeleteRoles.tsx new file mode 100644 index 0000000..59595a7 --- /dev/null +++ b/src/pages/Setting/FormDeleteRoles.tsx @@ -0,0 +1,84 @@ +import { useState } from "react"; +import axios from "axios"; +import { + Button, + Checkbox, + FormControl, + ListItemText, + MenuItem, + Select, + SelectChangeEvent, + TextField, +} from "@mui/material"; +import { MOCK_DATA_USERS } from "@root/api/roles"; + +const ITEM_HEIGHT = 48; +const ITEM_PADDING_TOP = 8; +const MenuProps = { + PaperProps: { + style: { + maxHeight: ITEM_HEIGHT * 4.5 + ITEM_PADDING_TOP, + }, + }, +}; + +export default function DeleteForm() { + const [personName, setPersonName] = useState([]); + const [roleId, setRoleId] = useState(); + + const handleChange = (event: SelectChangeEvent) => { + const { + target: { value }, + } = event; + setPersonName(typeof value === "string" ? value.split(",") : value); + }; + + const rolesDelete = (id = "") => { + axios.delete("https://admin.pena.digital/role/" + id); + }; + return ( + <> + + + + + + + ); +} diff --git a/src/pages/Setting/SettingRoles.tsx b/src/pages/Setting/SettingRoles.tsx index 3a5088f..c402c8a 100644 --- a/src/pages/Setting/SettingRoles.tsx +++ b/src/pages/Setting/SettingRoles.tsx @@ -1,51 +1,11 @@ -import { useState } from "react"; +import { AccordionDetails, Table, TableBody, TableCell, TableHead, TableRow, Typography } from "@mui/material"; -import { - AccordionDetails, - Button, - Checkbox, - FormControl, - InputLabel, - ListItemText, - MenuItem, - OutlinedInput, - Select, - SelectChangeEvent, - Table, - TableBody, - TableCell, - TableHead, - TableRow, - TextField, - Typography, -} from "@mui/material"; +import FormDeleteRoles from "./FormDeleteRoles"; +import FormCreateRoles from "./FormCreateRoles"; import theme from "../../theme"; -const ITEM_HEIGHT = 48; -const ITEM_PADDING_TOP = 8; -const MenuProps = { - PaperProps: { - style: { - maxHeight: ITEM_HEIGHT * 4.5 + ITEM_PADDING_TOP, - }, - }, -}; - -const names = ["admin", "user"]; - export const SettingRoles = () => { - const [personName, setPersonName] = useState([]); - - const handleChange = (event: SelectChangeEvent) => { - const { - target: { value }, - } = event; - setPersonName( - // On autofill we get a stringified value. - typeof value === "string" ? value.split(",") : value - ); - }; return ( { color: theme.palette.secondary.main, }} > - Насторйки ролей + Настройки ролей @@ -89,51 +49,53 @@ export const SettingRoles = () => { cursor: "pointer", }} > - - - - - - Role - -
+ + + + + - {names.map((name) => ( - - -1} /> - - - ))} - - + Удаление ролей + + + + + + + +