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;