@@ -14,11 +14,23 @@ function expandNavigation(url) {
14
14
}
15
15
16
16
node . set ( "selected" , true ) ;
17
+
18
+ var navigationElement = $ ( "#page-nav" ) ;
19
+ navigationElement . scrollTop ( 0 ) ;
20
+ var selectedNodeTopOffset = this . findByUid ( node . uid ) . offset ( ) . top ;
21
+ var scrollOffset = localStorage . getItem ( 'ScrollOffset' ) ;
22
+ if ( scrollOffset != null ) {
23
+ navigationElement . scrollTop ( selectedNodeTopOffset - parseInt ( scrollOffset ) ) ;
24
+ }
25
+ else {
26
+ navigationElement . scrollTop ( selectedNodeTopOffset - navigationElement . height ( ) / 2 ) ;
27
+ }
17
28
18
29
this . unbind ( "dataBound" , arguments . callee ) ;
19
30
}
20
31
}
21
32
33
+
22
34
function navigationTemplate ( root ) {
23
35
return function ( data ) {
24
36
var item = data . item ;
@@ -45,57 +57,43 @@ function navigationTemplate(root) {
45
57
function preventParentSelection ( e ) {
46
58
if ( this . dataItem ( e . node ) . hasChildren ) {
47
59
e . preventDefault ( ) ;
48
- this . toggle ( e . node ) ;
60
+ this . toggle ( e . node ) ;
49
61
}
62
+
63
+ var offset = $ ( e . node ) . offset ( ) . top ;
64
+ localStorage . setItem ( 'ScrollOffset' , offset ) ;
50
65
}
51
66
52
- $ ( function ( ) {
53
-
54
- $ ( "pre[lang]" ) . each ( function ( ) {
55
- if ( this . parentNode . className . indexOf ( "k-content" ) >= 0 ) {
56
- return ;
57
- }
58
-
59
- var langs = $ ( this ) . nextUntil ( ":not(pre)" , "pre" ) . add ( this ) ;
60
-
61
- var tabs = $ . map ( langs , function ( item ) {
62
- return $ ( "<li>" ) . text ( $ ( item ) . attr ( "lang" ) ) ;
63
- } ) ;
64
-
65
- tabs [ 0 ] . addClass ( "k-state-active" ) ;
66
-
67
- var tabstrip = $ ( "<div>" )
68
- . insertBefore ( this )
69
- . append ( $ ( "<ul>" ) . append ( tabs ) )
70
- . append ( langs ) ;
71
-
72
- langs . wrap ( "<div>" ) ;
73
-
74
- tabstrip . kendoTabStrip ( {
75
- animation : false
76
- } ) ;
77
- } ) ;
78
-
79
- var codeSampleMapper = {
80
- 'C#' : 'cs' ,
81
- 'VB.NET' : 'vb' ,
82
- 'AppBuilder' : 'js' ,
83
- 'JavaScript' : 'js' ,
84
- 'C++' : 'cpp' ,
85
- 'C' : 'c' ,
86
- 'Objective-C' : 'm' ,
87
- 'Java' : 'java' ,
88
- }
67
+ function onExpand ( e ) {
68
+ var item = this . dataItem ( e . node ) ;
69
+
70
+ if ( ! item . hasChildren )
71
+ {
72
+ var elementTop = $ ( e . node ) . offset ( ) . top ;
73
+ var treeScrollTop = $ ( "#page-nav" ) . scrollTop ( ) ;
74
+
75
+ var treeTop = $ ( "#page-nav" ) . offset ( ) . top ;
76
+
77
+ console . log ( "elementTop " + elementTop ) ;
78
+ console . log ( "treeScrollTop " + treeScrollTop ) ;
79
+ console . log ( "treeTop " + treeTop ) ;
80
+
81
+ $ ( "#page-nav" ) . animate ( {
82
+ scrollTop : ( ( treeScrollTop + elementTop ) - treeTop ) / 2
83
+ } ) ;
84
+ }
85
+ }
89
86
90
- // Enable prettyprint support. We need to map lang="JavaScript" to class="lang-js" in order to start proper pretty print lexer.
91
- $ ( "pre" ) . each ( function ( index ) {
92
- var langExtension = codeSampleMapper [ $ ( this ) . attr ( 'lang' ) ] ;
93
- $ ( this ) . addClass ( 'lang-' + langExtension ) . addClass ( "prettyprint" ) ;
94
- } ) ;
87
+ $ ( function ( ) {
88
+ $ ( "pre" ) . addClass ( "prettyprint" ) ;
95
89
96
90
prettyPrint ( ) ;
97
91
98
- $ ( "#markdown-toc" ) . each ( function ( ) {
92
+ $ ( "#markdown-toc" )
93
+ . on ( "click" , "a" , function ( ) {
94
+ $ ( ".section > ul" ) . hide ( ) ;
95
+ } )
96
+ . each ( function ( ) {
99
97
var ul = $ ( "<ul>" ) ;
100
98
101
99
$ ( "#page-article h2" ) . each ( function ( ) {
@@ -134,3 +132,23 @@ $(function(){
134
132
ul . appendTo ( this ) ;
135
133
} ) ;
136
134
} ) ;
135
+
136
+ $ ( function ( ) {
137
+ $ ( ".toggle-nav" ) . click ( function ( ) {
138
+ $ ( "#page-search" ) . removeClass ( "search-visibility" ) ;
139
+ $ ( "#page-inner-content" ) . removeClass ( "move-inner-content" ) ;
140
+ $ ( "#page-nav" ) . toggleClass ( "nav-visibility" ) ;
141
+ } ) ;
142
+ } ) ;
143
+
144
+ $ ( function ( ) {
145
+ $ ( ".show-search" ) . click ( function ( ) {
146
+ $ ( "#page-nav" ) . removeClass ( "nav-visibility" ) ;
147
+ $ ( "#page-search" ) . toggleClass ( "search-visibility" ) ;
148
+ $ ( "#page-inner-content" ) . toggleClass ( "move-inner-content" ) ;
149
+ } ) ;
150
+ } ) ;
151
+
152
+ $ ( function ( ) {
153
+ $ ( '#toYear' ) . text ( ( new Date ) . getFullYear ( ) ) ;
154
+ } ) ;
0 commit comments