Skip to content

Commit 86763d8

Browse files
jmannfeldpraveenweb
authored andcommitted
add a config option to collapse a sidebar item by default (hasura#32) (close hasura#20)
1 parent 779ee37 commit 86763d8

File tree

4 files changed

+26
-15
lines changed

4 files changed

+26
-15
lines changed

config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ const config = {
2727
"/introduction",
2828
"/codeblock"
2929
],
30+
"collapsedNav": [
31+
"/codeblock"
32+
],
3033
"links": [
3134
{ "text": "Hasura", "link": "https://hasura.io"},
3235
],

src/components/sidebar/tree.js

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,15 @@ const Tree = ({edges}) => {
7373
const [treeData] = useState(() => {
7474
return calculateTreeData(edges);
7575
});
76-
const [collapsed, setCollapsed] = useState({});
76+
const defaultCollapsed = {};
77+
treeData.items.forEach(item => {
78+
if (config.sidebar.collapsedNav && config.sidebar.collapsedNav.includes(item.url)) {
79+
defaultCollapsed[item.url] = true;
80+
} else {
81+
defaultCollapsed[item.url] = false;
82+
}
83+
});
84+
const [collapsed, setCollapsed] = useState(defaultCollapsed);
7785
const toggle = (url) => {
7886
setCollapsed({
7987
...collapsed,
@@ -90,4 +98,4 @@ const Tree = ({edges}) => {
9098
);
9199
}
92100

93-
export default Tree
101+
export default Tree

src/components/sidebar/treeNode.js

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,19 @@ const TreeNode = ({className = '', setCollapsed, collapsed, url, title, items, .
2121
<li
2222
className={calculatedClassName}
2323
>
24-
{!config.sidebar.frontLine && title && hasChildren ? (
25-
<button
26-
onClick={collapse}
27-
aria-label='collapse'
28-
className='collapser'>
29-
{!isCollapsed ? <OpenedSvg /> : <ClosedSvg />}
30-
</button>
31-
) : null}
32-
3324
{title && (
3425
<Link
3526
to={url}
3627
>
3728
{title}
29+
{!config.sidebar.frontLine && title && hasChildren ? (
30+
<button
31+
onClick={collapse}
32+
aria-label='collapse'
33+
className='collapser'>
34+
{!isCollapsed ? <OpenedSvg /> : <ClosedSvg />}
35+
</button>
36+
) : null}
3837
</Link>)
3938
}
4039

src/components/styles.css

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -410,14 +410,14 @@ pre {
410410
padding: 7px 24px 7px 16px;
411411
}
412412

413-
.hideFrontLine .collapser{
413+
.hideFrontLine .collapser {
414414
background: transparent;
415415
border: none;
416416
outline: none;
417-
margin-top: 7px;
418417
position: absolute;
419418
right: 20px;
420419
z-index: 1;
420+
cursor: pointer;
421421
}
422422

423423
.hideFrontLine .active >a{
@@ -442,7 +442,8 @@ pre {
442442
.sideBarUL .item >a {
443443
color: #fff;
444444
text-decoration: none;
445-
display: inline-block;
445+
display: flex;
446+
align-items: center;
446447
position: relative;
447448
width: 100%;
448449
padding-right: 35px;
@@ -468,7 +469,7 @@ pre {
468469
margin-left: 0 !important;
469470
}
470471

471-
.showFrontLine .item .item{
472+
.showFrontLine .item .item {
472473
border-left: 1px solid #e6ecf1;
473474
border-left-color: rgb(230, 236, 241);
474475
padding: 0;

0 commit comments

Comments
 (0)