Build & serve
This commit is contained in:
@ -16,7 +16,7 @@ interface FolderProps {
|
||||
interface DocumentProps {
|
||||
doc: IDocument;
|
||||
index: number;
|
||||
handleDocumentClick: (doc: IDocument, index: number) => void;
|
||||
handleDocumentClick: (index: number) => void;
|
||||
}
|
||||
|
||||
const FileItemStyle: SxProps = {
|
||||
@ -72,7 +72,7 @@ function ItemDocument({ doc, index, handleDocumentClick, ...props }: DocumentPro
|
||||
<ListItemButton>
|
||||
<Box
|
||||
sx={FileItemStyle}
|
||||
onClick={() => handleDocumentClick(doc, index)}
|
||||
onClick={() => handleDocumentClick(index)}
|
||||
{...props}
|
||||
>
|
||||
<InsertDriveFile />
|
||||
@ -117,7 +117,7 @@ export default function FolderViewer() {
|
||||
setBreadcrumbs((prev) => [...prev, folder])
|
||||
}
|
||||
|
||||
const handleDocumentClick = async (doc: IDocument, index: number) => {
|
||||
const handleDocumentClick = async (index: number) => {
|
||||
setCurrentFileNo(index)
|
||||
setFileViewerModal(true)
|
||||
}
|
||||
|
@ -3,7 +3,6 @@ import { IServer } from '../interfaces/servers'
|
||||
import { useServerIps } from '../hooks/swrHooks'
|
||||
import FullFeaturedCrudGrid from './TableEditable'
|
||||
import { GridColDef } from '@mui/x-data-grid'
|
||||
import { AxiosResponse } from 'axios'
|
||||
|
||||
function ServerData({ id }: IServer) {
|
||||
const { serverIps } = useServerIps(id, 0, 10)
|
||||
@ -24,14 +23,12 @@ function ServerData({ id }: IServer) {
|
||||
initialRows={serverIps}
|
||||
columns={serverIpsColumns}
|
||||
actions
|
||||
onRowClick={(params, event, details) => {
|
||||
onRowClick={() => {
|
||||
//setCurrentServerData(params.row)
|
||||
//setServerDataOpen(true)
|
||||
}}
|
||||
onSave={undefined}
|
||||
onDelete={function (data: any): Promise<AxiosResponse<any, any>> {
|
||||
throw new Error('N/A.')
|
||||
}}
|
||||
onDelete={undefined}
|
||||
loading={false}
|
||||
/>
|
||||
}
|
||||
|
@ -11,24 +11,12 @@ import ServerData from './ServerData'
|
||||
export default function ServerHardware() {
|
||||
const [open, setOpen] = useState(false)
|
||||
const [options, setOptions] = useState<IRegion[]>([])
|
||||
const [search, setSearch] = useState<string | null>("")
|
||||
const [debouncedSearch, setDebouncedSearch] = useState<string | null>("")
|
||||
const [selectedOption, setSelectedOption] = useState<IRegion | null>(null)
|
||||
const { servers, isLoading } = useServers()
|
||||
|
||||
const [serverDataOpen, setServerDataOpen] = useState(false)
|
||||
const [currentServerData, setCurrentServerData] = useState<any | null>(null)
|
||||
|
||||
useEffect(() => {
|
||||
const handler = setTimeout(() => {
|
||||
setDebouncedSearch(search)
|
||||
}, 500)
|
||||
|
||||
return () => {
|
||||
clearTimeout(handler)
|
||||
}
|
||||
}, [search])
|
||||
|
||||
useEffect(() => {
|
||||
if (servers) {
|
||||
setOptions([...servers])
|
||||
@ -36,7 +24,7 @@ export default function ServerHardware() {
|
||||
}, [servers])
|
||||
|
||||
const handleInputChange = (value: string) => {
|
||||
setSearch(value)
|
||||
return value
|
||||
}
|
||||
|
||||
const handleOptionChange = (value: IRegion | null) => {
|
||||
@ -126,13 +114,13 @@ export default function ServerHardware() {
|
||||
)
|
||||
}} />
|
||||
)} />}
|
||||
onSave={(id: any) => {
|
||||
onSave={() => {
|
||||
}}
|
||||
onDelete={ServerService.removeServer}
|
||||
initialRows={hardwares}
|
||||
columns={hardwareColumns}
|
||||
actions
|
||||
onRowClick={(params, event, details) => {
|
||||
onRowClick={(params) => {
|
||||
setCurrentServerData(params.row)
|
||||
setServerDataOpen(true)
|
||||
}} loading={false} />
|
||||
|
@ -11,24 +11,12 @@ import ServerData from './ServerData'
|
||||
export default function ServerIpsView() {
|
||||
const [open, setOpen] = useState(false)
|
||||
const [options, setOptions] = useState<IRegion[]>([])
|
||||
const [search, setSearch] = useState<string | null>("")
|
||||
const [debouncedSearch, setDebouncedSearch] = useState<string | null>("")
|
||||
const [selectedOption, setSelectedOption] = useState<IRegion | null>(null)
|
||||
const { servers, isLoading } = useServers()
|
||||
|
||||
const [serverDataOpen, setServerDataOpen] = useState(false)
|
||||
const [currentServerData, setCurrentServerData] = useState<any | null>(null)
|
||||
|
||||
useEffect(() => {
|
||||
const handler = setTimeout(() => {
|
||||
setDebouncedSearch(search)
|
||||
}, 500)
|
||||
|
||||
return () => {
|
||||
clearTimeout(handler)
|
||||
}
|
||||
}, [search])
|
||||
|
||||
useEffect(() => {
|
||||
if (servers) {
|
||||
setOptions([...servers])
|
||||
@ -36,7 +24,7 @@ export default function ServerIpsView() {
|
||||
}, [servers])
|
||||
|
||||
const handleInputChange = (value: string) => {
|
||||
setSearch(value)
|
||||
return value
|
||||
}
|
||||
|
||||
const handleOptionChange = (value: IRegion | null) => {
|
||||
@ -124,13 +112,13 @@ export default function ServerIpsView() {
|
||||
)
|
||||
}} />
|
||||
)} />}
|
||||
onSave={(id: any) => {
|
||||
onSave={() => {
|
||||
}}
|
||||
onDelete={ServerService.removeServer}
|
||||
initialRows={serverIps}
|
||||
columns={serverIpsColumns}
|
||||
actions
|
||||
onRowClick={(params, event, details) => {
|
||||
onRowClick={(params) => {
|
||||
setCurrentServerData(params.row)
|
||||
setServerDataOpen(true)
|
||||
}} loading={false} />
|
||||
|
@ -7,20 +7,16 @@ import ServerService from '../services/ServersService'
|
||||
import { GridColDef } from '@mui/x-data-grid'
|
||||
import { Close } from '@mui/icons-material'
|
||||
import ServerData from './ServerData'
|
||||
import { useDebounce } from '@uidotdev/usehooks'
|
||||
|
||||
export default function ServerStorage() {
|
||||
const [open, setOpen] = useState(false)
|
||||
const [options, setOptions] = useState<IRegion[]>([])
|
||||
const [search, setSearch] = useState<string | null>("")
|
||||
const [selectedOption, setSelectedOption] = useState<IRegion | null>(null)
|
||||
const { hardwares, isLoading } = useHardwares()
|
||||
|
||||
const debouncedSearch = useDebounce(search, 500)
|
||||
|
||||
const [serverDataOpen, setServerDataOpen] = useState(false)
|
||||
const [currentServerData, setCurrentServerData] = useState<any | null>(null)
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
if (hardwares) {
|
||||
setOptions([...hardwares])
|
||||
@ -28,7 +24,7 @@ export default function ServerStorage() {
|
||||
}, [hardwares])
|
||||
|
||||
const handleInputChange = (value: string) => {
|
||||
setSearch(value)
|
||||
return value
|
||||
}
|
||||
|
||||
const handleOptionChange = (value: IRegion | null) => {
|
||||
@ -115,13 +111,13 @@ export default function ServerStorage() {
|
||||
)
|
||||
}} />
|
||||
)} />}
|
||||
onSave={(id: any) => {
|
||||
onSave={() => {
|
||||
}}
|
||||
onDelete={ServerService.removeServer}
|
||||
initialRows={storages}
|
||||
columns={storageColumns}
|
||||
actions
|
||||
onRowClick={(params, event, details) => {
|
||||
onRowClick={(params) => {
|
||||
setCurrentServerData(params.row)
|
||||
setServerDataOpen(true)
|
||||
}}
|
||||
|
@ -16,7 +16,6 @@ import { useDebounce } from '@uidotdev/usehooks'
|
||||
export default function ServersView() {
|
||||
const [options, setOptions] = useState<IRegion[]>([])
|
||||
const [search, setSearch] = useState<string | null>("")
|
||||
//const [debouncedSearch, setDebouncedSearch] = useState<string | null>("")
|
||||
|
||||
const debouncedSearch = useDebounce(search, 500)
|
||||
|
||||
@ -169,13 +168,13 @@ export default function ServersView() {
|
||||
)}
|
||||
/>
|
||||
}
|
||||
onSave={(id: any) => {
|
||||
onSave={() => {
|
||||
}}
|
||||
onDelete={ServerService.removeServer}
|
||||
initialRows={servers}
|
||||
columns={serversColumns}
|
||||
actions
|
||||
onRowClick={(params, event, details) => {
|
||||
onRowClick={(params) => {
|
||||
setCurrentServerData(params.row)
|
||||
setServerDataOpen(true)
|
||||
}}
|
||||
|
@ -20,7 +20,6 @@ import {
|
||||
GridRowEditStopReasons,
|
||||
GridSlots,
|
||||
} from '@mui/x-data-grid';
|
||||
import { AxiosResponse } from 'axios';
|
||||
|
||||
interface EditToolbarProps {
|
||||
setRows: (newRows: (oldRows: GridRowsProp) => GridRowsProp) => void;
|
||||
@ -84,7 +83,7 @@ interface DataGridProps {
|
||||
actions: boolean;
|
||||
onRowClick: GridEventListener<"rowClick">;
|
||||
onSave: any;
|
||||
onDelete: (data: any) => Promise<AxiosResponse<any, any>>;
|
||||
onDelete: any;
|
||||
autoComplete?: React.ReactElement | null;
|
||||
loading: boolean;
|
||||
}
|
||||
@ -119,8 +118,7 @@ export default function FullFeaturedCrudGrid({
|
||||
|
||||
const handleDeleteClick = (id: GridRowId) => () => {
|
||||
setRows(rows.filter((row) => row.id !== id));
|
||||
onDelete?.(id).then(response => {
|
||||
})
|
||||
onDelete?.(id)
|
||||
};
|
||||
|
||||
const handleCancelClick = (id: GridRowId) => () => {
|
||||
|
@ -1,6 +1,4 @@
|
||||
import { SubmitHandler, useForm } from 'react-hook-form';
|
||||
import { AxiosResponse } from 'axios';
|
||||
import { ApiResponse } from '../../interfaces/auth';
|
||||
import RoleService from '../../services/RoleService';
|
||||
import { Box, Button, Modal, Select, TextField, Typography } from '@mui/material';
|
||||
import { ICompany } from '../../interfaces/documents';
|
||||
@ -42,7 +40,7 @@ export default function CreateCompanyModal({
|
||||
|
||||
const onSubmit: SubmitHandler<ICompany> = async (data) => {
|
||||
try {
|
||||
const response: AxiosResponse<ApiResponse> = await RoleService.createRole(data)
|
||||
await RoleService.createRole(data)
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
}
|
||||
|
@ -1,6 +1,4 @@
|
||||
import { SubmitHandler, useForm } from 'react-hook-form';
|
||||
import { AxiosResponse } from 'axios';
|
||||
import { ApiResponse } from '../../interfaces/auth';
|
||||
import RoleService from '../../services/RoleService';
|
||||
import { Box, Button, Modal, TextField, Typography } from '@mui/material';
|
||||
import { ICompany } from '../../interfaces/documents';
|
||||
@ -39,7 +37,7 @@ export default function CreateDepartmentModal({
|
||||
|
||||
const onSubmit: SubmitHandler<ICompany> = async (data) => {
|
||||
try {
|
||||
const response: AxiosResponse<ApiResponse> = await RoleService.createRole(data)
|
||||
await RoleService.createRole(data)
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
}
|
||||
|
@ -1,5 +1,3 @@
|
||||
import React from 'react'
|
||||
|
||||
function CreateFromGridColModal() {
|
||||
return (
|
||||
<div>CreateFromGridColModal</div>
|
||||
|
@ -1,7 +1,5 @@
|
||||
import { SubmitHandler, useForm } from 'react-hook-form';
|
||||
import { IRoleCreate } from '../../interfaces/role';
|
||||
import { AxiosResponse } from 'axios';
|
||||
import { ApiResponse } from '../../interfaces/auth';
|
||||
import RoleService from '../../services/RoleService';
|
||||
import { Box, Button, Modal, TextField, Typography } from '@mui/material';
|
||||
|
||||
@ -38,7 +36,7 @@ export default function CreateRoleModal({
|
||||
|
||||
const onSubmit: SubmitHandler<IRoleCreate> = async (data) => {
|
||||
try {
|
||||
const response: AxiosResponse<ApiResponse> = await RoleService.createRole(data)
|
||||
await RoleService.createRole(data)
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
}
|
||||
|
@ -1,7 +1,5 @@
|
||||
import { Box, Button, Modal, TextField, Typography } from '@mui/material'
|
||||
import { AxiosResponse } from 'axios';
|
||||
import { SubmitHandler, useForm } from 'react-hook-form';
|
||||
import { ApiResponse } from '../../interfaces/auth';
|
||||
import UserService from '../../services/UserService';
|
||||
import { IUserCreate } from '../../interfaces/user';
|
||||
|
||||
@ -43,7 +41,7 @@ export default function CreateUserModal({
|
||||
|
||||
const onSubmit: SubmitHandler<IUserCreate> = async (data) => {
|
||||
try {
|
||||
const response: AxiosResponse<ApiResponse> = await UserService.createUser(data)
|
||||
await UserService.createUser(data)
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
import { Box, Button } from "@mui/material"
|
||||
import { Box } from "@mui/material"
|
||||
import { useCities } from "../hooks/swrHooks"
|
||||
import { useEffect, useState } from "react"
|
||||
import { useDebounce } from "@uidotdev/usehooks"
|
||||
import { DataGrid, GridColDef } from "@mui/x-data-grid"
|
||||
import axiosInstance from "../http/axiosInstance"
|
||||
import { BASE_URL } from "../constants"
|
||||
|
@ -2,6 +2,7 @@ import { useState } from "react"
|
||||
import { Box, Button } from "@mui/material"
|
||||
import axiosInstance from "../http/axiosInstance"
|
||||
import { DataGrid } from "@mui/x-data-grid"
|
||||
import { BASE_URL } from "../constants"
|
||||
|
||||
export default function Reports() {
|
||||
const [state, setState] = useState(null)
|
||||
@ -9,6 +10,7 @@ export default function Reports() {
|
||||
const fetch = async () => {
|
||||
await axiosInstance.get(`/info/reports/0?to_export=true`, {
|
||||
responseType: 'blob',
|
||||
baseURL: BASE_URL.info
|
||||
}).then(response => {
|
||||
const url = window.URL.createObjectURL(response.data)
|
||||
const link = document.createElement('a')
|
||||
@ -67,11 +69,11 @@ export default function Reports() {
|
||||
checkboxSelection={false}
|
||||
disableRowSelectionOnClick
|
||||
|
||||
processRowUpdate={(updatedRow, originalRow) => {
|
||||
processRowUpdate={(updatedRow) => {
|
||||
return updatedRow
|
||||
}}
|
||||
|
||||
onProcessRowUpdateError={(error) => {
|
||||
onProcessRowUpdateError={() => {
|
||||
}}
|
||||
/>
|
||||
}
|
||||
|
@ -48,11 +48,11 @@ export default function Roles() {
|
||||
pageSizeOptions={[10, 20, 50, 100]}
|
||||
disableRowSelectionOnClick
|
||||
|
||||
processRowUpdate={(updatedRow, originalRow) => {
|
||||
processRowUpdate={(updatedRow) => {
|
||||
return updatedRow
|
||||
}}
|
||||
|
||||
onProcessRowUpdateError={(error) => {
|
||||
onProcessRowUpdateError={() => {
|
||||
}}
|
||||
/>
|
||||
</Box>
|
||||
|
@ -8,7 +8,7 @@ import ServerStorage from "../components/ServerStorages"
|
||||
export default function Servers() {
|
||||
const [currentTab, setCurrentTab] = useState(0)
|
||||
|
||||
const handleTabChange = (event: React.SyntheticEvent, newValue: number) => {
|
||||
const handleTabChange = (newValue: number) => {
|
||||
setCurrentTab(newValue);
|
||||
}
|
||||
|
||||
@ -38,7 +38,9 @@ export default function Servers() {
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: '16px', height: '100%' }}>
|
||||
<Box sx={{ display: 'flex', flexDirection: 'column', gap: '16px', height: '100%', p: '16px' }}>
|
||||
<Box sx={{ borderBottom: 1, borderColor: 'divider' }}>
|
||||
<Tabs value={currentTab} onChange={handleTabChange} aria-label="basic tabs example">
|
||||
<Tabs value={currentTab} onChange={(_, value) =>
|
||||
handleTabChange(value)
|
||||
} aria-label="basic tabs example">
|
||||
<Tab label="Серверы" />
|
||||
<Tab label="IP-адреса" />
|
||||
<Tab label="Hardware" />
|
||||
|
@ -69,11 +69,11 @@ export default function Settings() {
|
||||
checkboxSelection
|
||||
disableRowSelectionOnClick
|
||||
|
||||
processRowUpdate={(updatedRow, originalRow) => {
|
||||
processRowUpdate={(updatedRow) => {
|
||||
return updatedRow
|
||||
}}
|
||||
|
||||
onProcessRowUpdateError={(error) => {
|
||||
onProcessRowUpdateError={() => {
|
||||
}}
|
||||
/>
|
||||
</Box>
|
||||
|
@ -64,11 +64,11 @@ export default function Users() {
|
||||
checkboxSelection
|
||||
disableRowSelectionOnClick
|
||||
|
||||
processRowUpdate={(updatedRow, originalRow) => {
|
||||
processRowUpdate={(updatedRow) => {
|
||||
return updatedRow
|
||||
}}
|
||||
|
||||
onProcessRowUpdateError={(error) => {
|
||||
onProcessRowUpdateError={() => {
|
||||
}}
|
||||
/>
|
||||
</Box>
|
||||
|
@ -1,7 +1,5 @@
|
||||
import { useForm, SubmitHandler } from 'react-hook-form';
|
||||
import { TextField, Button, Container, Typography, Box } from '@mui/material';
|
||||
import { AxiosResponse } from 'axios';
|
||||
import { ApiResponse } from '../../interfaces/auth';
|
||||
import UserService from '../../services/UserService';
|
||||
import { IUserCreate } from '../../interfaces/user';
|
||||
|
||||
@ -21,7 +19,7 @@ const SignUp = () => {
|
||||
|
||||
const onSubmit: SubmitHandler<IUserCreate> = async (data) => {
|
||||
try {
|
||||
const response: AxiosResponse<ApiResponse> = await UserService.createUser(data)
|
||||
await UserService.createUser(data)
|
||||
} catch (error) {
|
||||
console.error('Ошибка регистрации:', error);
|
||||
}
|
||||
|
Reference in New Issue
Block a user