Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 2506 | Autoría | Ultima modificación | Ver Log |

import React, { useContext, useRef, useState } from 'react'
import { DataGrid } from '@mui/x-data-grid'
import { IconButton, Menu, MenuItem } from '@mui/material'
import { MoreVert } from '@mui/icons-material'

import { ValuesContext } from '@app/contexts/values'
import Widget from '@app/components/UI/Widget'

export default function Values() {
  const { values, toggleModal } = useContext(ValuesContext)
  const [open, setOpen] = useState(false)
  const actionsEl = useRef()

  const toggleActions = () => setOpen(!open)

  const columns = [{ field: 'description', headerName: 'Descripción' }]

  return (
    <>
      <Widget>
        <Widget.Header
          title='Valores'
          renderAction={() => (
            <>
              <IconButton
                id='values-button'
                aria-controls={open ? 'values-menu' : undefined}
                aria-haspopup='true'
                aria-expanded={open ? 'true' : undefined}
                onClick={toggleActions}
                ref={actionsEl}
              >
                <MoreVert />
              </IconButton>
              <Menu
                id='values-menu'
                anchorEl={actionsEl.current}
                open={open}
                onClose={toggleActions}
                MenuListProps={{
                  'aria-labelledby': 'values-button'
                }}
                anchorOrigin={{
                  vertical: 'bottom',
                  horizontal: 'left'
                }}
                transformOrigin={{
                  vertical: 'top',
                  horizontal: 'left'
                }}
              >
                <MenuItem
                  onClick={() => {
                    toggleModal()
                    toggleActions()
                  }}
                >
                  Agregar
                </MenuItem>
              </Menu>
            </>
          )}
        />
        <Widget.Body>
          <DataGrid
            rows={values}
            columns={columns}
            initialState={{
              pagination: {
                paginationModel: { page: 0, pageSize: 10 }
              }
            }}
            pageSizeOptions={[10]}
          />
        </Widget.Body>
      </Widget>
    </>
  )
}