import React, { useState } from 'react'; import { useSelector, useDispatch } from 'react-redux'; /* !- Actions */ import { toggleView } from './actions'; import { menu, close } from '../layer/actions'; /* !- Elements */ import IconView from '../icon/mui/av/web'; /* !- Constants */ // ... const defaultProps = { children: (
Nézet
), className: '', }; type PropTypes = { group?: string, } & typeof defaultProps; const ViewMenuComponent = ({ group, className, children, }: PropTypes) => { const views = useSelector(({ view }) => view.active !== undefined ? view.groups[group || state.view.active] : [] ) const dispatch = useDispatch(); const items = views.map(({ id, status, title, icon }) => ({ id, title: title || id, className: parseInt(status) === 1 ? 'active' : '', icon, handler: (item) => { dispatch(toggleView(item.id, undefined, group)); dispatch(close()); }, })); const onClickButtonHandler = (event) => { dispatch(menu({ items }, event)); } return (
{children}
); }; ViewMenuComponent.defaultProps = defaultProps; export default ViewMenuComponent;