mirror of
https://github.com/ascribe/onion.git
synced 2024-12-22 17:33:14 +01:00
9559bc09b4
The disabling only happens when the piece list is fetched, which may not happen immediately in some cases (ie. logged in user goes straight to another person’s edition first). We’re not able to fetch the piece list immediately, as some white labels apply default filters on the piece list which forces them to wait until they can begin fetching their piece lists.
64 lines
2.0 KiB
JavaScript
64 lines
2.0 KiB
JavaScript
'use strict';
|
|
|
|
import React from 'react';
|
|
|
|
import DropdownButton from 'react-bootstrap/lib/DropdownButton';
|
|
import MenuItem from 'react-bootstrap/lib/MenuItem';
|
|
import NavItem from 'react-bootstrap/lib/NavItem';
|
|
|
|
import LinkContainer from 'react-router-bootstrap/lib/LinkContainer';
|
|
|
|
|
|
let NavRoutesLinksLink = React.createClass({
|
|
propTypes: {
|
|
children: React.PropTypes.oneOfType([
|
|
React.PropTypes.arrayOf(React.PropTypes.element),
|
|
React.PropTypes.element
|
|
]),
|
|
disabled: React.PropTypes.bool,
|
|
depth: React.PropTypes.number,
|
|
headerTitle: React.PropTypes.string,
|
|
routePath: React.PropTypes.string
|
|
},
|
|
|
|
render() {
|
|
const { children, headerTitle, depth, disabled, routePath } = this.props;
|
|
|
|
// if the route has children, we're returning a DropdownButton that will get filled
|
|
// with MenuItems
|
|
if (children) {
|
|
return (
|
|
<DropdownButton
|
|
disabled={disabled}
|
|
title={headerTitle}>
|
|
{children}
|
|
</DropdownButton>
|
|
);
|
|
} else {
|
|
if (depth === 1) {
|
|
// if the node's child is actually a node of level one (a child of a node), we're
|
|
// returning a DropdownButton matching MenuItem
|
|
return (
|
|
<LinkContainer
|
|
disabled={disabled}
|
|
to={routePath}>
|
|
<MenuItem>{headerTitle}</MenuItem>
|
|
</LinkContainer>
|
|
);
|
|
} else if (depth === 0) {
|
|
return (
|
|
<LinkContainer
|
|
disabled={disabled}
|
|
to={routePath}>
|
|
<NavItem>{headerTitle}</NavItem>
|
|
</LinkContainer>
|
|
);
|
|
} else {
|
|
return null;
|
|
}
|
|
}
|
|
}
|
|
});
|
|
|
|
export default NavRoutesLinksLink;
|