@sassoftware/cra-template-viya-app-quickstart
Version:
Template for typical SAS Viya Applications
48 lines (40 loc) • 1.36 kB
JavaScript
/*
* Copyright © 2019, SAS Institute Inc., Cary, NC, USA. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0
*/
import React, { Fragment } from 'react';
import { PropTypes } from 'prop-types';
import List from '@material-ui/core/List';
import ListItem from '@material-ui/core/ListItem';
import ListItemText from '@material-ui/core/ListItemText';
import {useAppContext} from '../../providers';
function ListMenu (props) {
let { menus, onSelect} = props;
let {classes} = useAppContext();
let newMenu = [];
menus.forEach((m, key) => {
let hide = (m.hide != null && m.hide === true) ? true : false;
if (hide !== true) {
newMenu.push(
<ListItem key={key} button onClick={() => onSelect(key, m)}>
<ListItemText primary={m.props.text} />
</ListItem>)
}
});
let show =
<Fragment>
<List component="nav" dense className={classes.list}>
{newMenu}
</List>
</Fragment>;
return show;
}
ListMenu.propTypes = {
/** Menu to be displayed */
menus: PropTypes.array.isRequired,
/** Selection handler */
onSelect: PropTypes.func.isRequired,
/** default classes */
classes: PropTypes.object.isRequired
}
export default ListMenu;