1
1
import * as React from 'react' ;
2
-
3
- import { SectionRenderStrategy } from './sectionRenderStrategy' ;
4
- import { SectionGroupRenderStrategy } from './sectionGroupRenderStrategy' ;
5
- import { ExpandableNodeRenderStrategy } from './treeView/expandableNodeRenderStrategy' ;
6
- import { ExpandableNode } from './treeView/expandableNode' ;
7
- import { LeafNode } from './treeView/leafNode' ;
8
- import { Constants } from '../constants' ;
9
- import { Notebook } from '../oneNoteDataStructures/notebook' ;
10
- import { OneNoteItemUtils } from '../oneNoteDataStructures/oneNoteItemUtils' ;
11
- import { InnerGlobals } from '../props/globalProps' ;
2
+ import { SectionRenderStrategy } from './sectionRenderStrategy' ;
3
+ import { SectionGroupRenderStrategy } from './sectionGroupRenderStrategy' ;
4
+ import { ExpandableNodeRenderStrategy } from './treeView/expandableNodeRenderStrategy' ;
5
+ import { ExpandableNode } from './treeView/expandableNode' ;
6
+ import { LeafNode } from './treeView/leafNode' ;
7
+ import { Constants } from '../constants' ;
8
+ import { Notebook } from '../oneNoteDataStructures/notebook' ;
9
+ import { OneNoteItemUtils } from '../oneNoteDataStructures/oneNoteItemUtils' ;
10
+ import { InnerGlobals } from '../props/globalProps' ;
11
+ import { NotebookOpenedIconSvg } from './icons/notebookOpenedIcon.svg' ;
12
+ import { NotebookClosedIconSvg } from './icons/notebookClosedIcon.svg' ;
12
13
13
14
export class NotebookRenderStrategy implements ExpandableNodeRenderStrategy {
14
15
onClickBinded = this . onClick . bind ( this ) ;
@@ -17,12 +18,12 @@ export class NotebookRenderStrategy implements ExpandableNodeRenderStrategy {
17
18
18
19
element ( ) : JSX . Element {
19
20
return (
20
- < div className = { this . isSelected ( ) ? 'picker-selectedItem' : '' } title = { this . notebook . name } >
21
- < div className = 'picker-icon-left ' >
22
- < i className = 'ms-Icon ms-Icon--OneNoteLogo' aria-hidden = 'true' > </ i >
21
+ < div className = { this . isSelected ( ) ? 'picker-selectedItem notebook ' : 'notebook ' } title = { this . notebook . name } >
22
+ < div className = 'picker-icon' >
23
+ { this . isExpanded ( ) ? < NotebookOpenedIconSvg /> : < NotebookClosedIconSvg /> }
23
24
</ div >
24
- < div >
25
- < label className = 'ms-fontSize-sPlus' > { this . notebook . name } </ label >
25
+ < div className = 'picker-label' >
26
+ < label > { this . notebook . name } </ label >
26
27
</ div >
27
28
</ div > ) ;
28
29
}
@@ -42,21 +43,21 @@ export class NotebookRenderStrategy implements ExpandableNodeRenderStrategy {
42
43
< ExpandableNode
43
44
expanded = { renderStrategy . isExpanded ( ) } node = { renderStrategy } globals = { this . globals }
44
45
treeViewId = { Constants . TreeView . id } key = { renderStrategy . getId ( ) }
45
- id = { renderStrategy . getId ( ) } level = { childrenLevel } ariaSelected = { renderStrategy . isAriaSelected ( ) } > </ ExpandableNode > :
46
+ id = { renderStrategy . getId ( ) } level = { childrenLevel } ariaSelected = { renderStrategy . isAriaSelected ( ) } / > :
46
47
< LeafNode node = { renderStrategy } treeViewId = { Constants . TreeView . id } key = { renderStrategy . getId ( ) } globals = { this . globals }
47
- id = { renderStrategy . getId ( ) } level = { childrenLevel } ariaSelected = { renderStrategy . isAriaSelected ( ) } > </ LeafNode > ) ;
48
+ id = { renderStrategy . getId ( ) } level = { childrenLevel } ariaSelected = { renderStrategy . isAriaSelected ( ) } / >) ;
48
49
49
50
let sectionRenderStrategies = this . notebook . sections . map ( section => new SectionRenderStrategy ( section , this . globals ) ) ;
50
51
let sections = sectionRenderStrategies . map ( renderStrategy =>
51
52
! ! this . globals . callbacks . onPageSelected ?
52
53
< ExpandableNode
53
54
expanded = { renderStrategy . isExpanded ( ) } node = { renderStrategy } globals = { this . globals }
54
55
treeViewId = { Constants . TreeView . id } key = { renderStrategy . getId ( ) }
55
- id = { renderStrategy . getId ( ) } level = { childrenLevel } ariaSelected = { renderStrategy . isAriaSelected ( ) } > </ ExpandableNode > :
56
+ id = { renderStrategy . getId ( ) } level = { childrenLevel } ariaSelected = { renderStrategy . isAriaSelected ( ) } / > :
56
57
< LeafNode node = { renderStrategy } treeViewId = { Constants . TreeView . id } key = { renderStrategy . getId ( ) } globals = { this . globals }
57
- id = { renderStrategy . getId ( ) } level = { childrenLevel } ariaSelected = { renderStrategy . isAriaSelected ( ) } > </ LeafNode > ) ;
58
+ id = { renderStrategy . getId ( ) } level = { childrenLevel } ariaSelected = { renderStrategy . isAriaSelected ( ) } / >) ;
58
59
59
- return sectionGroups . concat ( sections ) ;
60
+ return sections . concat ( sectionGroups ) ;
60
61
}
61
62
62
63
isExpanded ( ) : boolean {
@@ -76,5 +77,6 @@ export class NotebookRenderStrategy implements ExpandableNodeRenderStrategy {
76
77
if ( ! ! onNotebookSelected ) {
77
78
onNotebookSelected ( this . notebook , OneNoteItemUtils . getAncestry ( this . notebook ) ) ;
78
79
}
80
+ this . notebook . expanded = ! this . notebook . expanded ;
79
81
}
80
82
}
0 commit comments