[2] update list for /sight & /station routes

This commit is contained in:
maxim
2025-03-16 16:52:31 +03:00
parent efd6035e31
commit 7fc6c9dc7c
3 changed files with 49 additions and 75 deletions

View File

@ -1,19 +1,13 @@
import React, {useState, useEffect} from 'react'
import {type GridColDef, type GridColumnVisibilityModel} from '@mui/x-data-grid'
import {CustomDataGrid} from '../../components/CustomDataGrid'
import React from 'react'
import {type GridColDef} from '@mui/x-data-grid'
import {DeleteButton, EditButton, List, ShowButton, useDataGrid} from '@refinedev/mui'
import {Box, Button, Stack} from '@mui/material'
import Cookies from 'js-cookie'
import {Stack} from '@mui/material'
import {CustomDataGrid} from '../../components/CustomDataGrid'
import {localeText} from '../../locales/ru/localeText'
export const StationList = () => {
const {dataGridProps} = useDataGrid({resource: 'station/'})
const initialShowCoordinates = Cookies.get('showCoordinates') === 'true'
const [showCoordinates, setShowCoordinates] = useState(initialShowCoordinates)
const columns = React.useMemo<GridColDef[]>(
() => [
{
@ -82,33 +76,11 @@ export const StationList = () => {
],
[],
)
const [columnVisibilityModel, setColumnVisibilityModel] = useState<GridColumnVisibilityModel>({
latitude: showCoordinates,
longitude: showCoordinates,
})
useEffect(() => {
setColumnVisibilityModel({
latitude: showCoordinates,
longitude: showCoordinates,
})
Cookies.set('showCoordinates', String(showCoordinates))
}, [showCoordinates])
const toggleCoordinates = () => {
setShowCoordinates((prev) => !prev)
}
return (
<List>
<Stack gap={2.5}>
<CustomDataGrid {...dataGridProps} columns={columns} localeText={localeText} getRowId={(row: any) => row.id} columnVisibilityModel={columnVisibilityModel} onColumnVisibilityModelChange={(model) => setColumnVisibilityModel(model)} />
<Box sx={{mb: 2}}>
<Button variant="contained" onClick={toggleCoordinates}>
{showCoordinates ? 'Скрыть координаты' : 'Показать координаты'}
</Button>
</Box>
<CustomDataGrid {...dataGridProps} columns={columns} localeText={localeText} getRowId={(row: any) => row.id} hasCoordinates />
</Stack>
</List>
)