@doreamonjs/gate
Version:
gate for doreamonjs
32 lines • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const react_1 = tslib_1.__importDefault(require("react"));
const dva_1 = require("dva");
const classnames_1 = tslib_1.__importDefault(require("classnames"));
const components_1 = require("@doreamonjs/components");
require("./index.less");
const Menu = (props) => {
const { theme, menus, nav, onNavigate } = props;
const containerCls = classnames_1.default('layout-menu', {
siderMenuContainer: true,
[theme]: !!theme,
});
return (react_1.default.createElement("div", { className: containerCls },
react_1.default.createElement(components_1.Menus, { theme: theme, collapsed: props.collapsed, selected: nav.current, menus: menus, onMenuClick: onNavigate })));
};
const mapState = ({ applications, menus }) => ({
menus: menus.data,
theme: applications.theme,
nav: menus.nav,
collapsed: applications.collapsed,
});
const mapAction = (dispatch) => ({
onNavigate: (path, name) => dispatch({
type: 'menus/navigate',
payload: path,
}),
onSideClose: () => dispatch({ type: 'applications/toggle/sider' }),
});
exports.default = dva_1.connect(mapState, mapAction)(Menu);
//# sourceMappingURL=menu.js.map