5
5
< li >
6
6
< span > Framework</ span >
7
7
< ul >
8
- < li > < a href ="{{site.headerbaseurl}}/nativescript-is-how-you-build-native-mobile-apps-with-angular "> Angular Integration</ a > </ li >
8
+ < li > < a href ="{{site.headerbaseurl}}/nativescript-is-how-you-build-native-mobile-apps-with-angular "> Angular
9
+ Integration</ a > </ li >
9
10
< li > < a href ="{{site.headerbaseurl}}/vue "> Vue.js Integration</ a > </ li >
10
11
< li > < a href ="{{site.headerbaseurl}}/showcases "> Customer Showcases</ a > </ li >
11
12
< li > < a href ="{{site.headerbaseurl}}/roadmap-and-releases "> Roadmap & Release Notes</ a > </ li >
16
17
< span > Developers</ span >
17
18
< ul >
18
19
< li > < a href ="https://play.nativescript.org "> Playground</ a > </ li >
19
- < li > < a href ="https://market.nativescript.org/?tab=samples&framework=all_frameworks&category=all_samples "> Code Samples</ a > </ li >
20
+ < li > < a
21
+ href ="https://market.nativescript.org/?tab=samples&framework=all_frameworks&category=all_samples "> Code
22
+ Samples</ a > </ li >
20
23
< li > < a href ="{{site.headerbaseurl}}/books-and-videos "> Books & Videos</ a > </ li >
21
- < li > < a href ="https://market.nativescript.org/?tab=templates&category=all_templates "> App Templates</ a > </ li >
24
+ < li > < a href ="https://market.nativescript.org/?tab=templates&category=all_templates "> App Templates</ a >
25
+ </ li >
22
26
</ ul >
23
27
</ li >
24
28
< li >
34
38
< li >
35
39
< span > Support</ span >
36
40
< ul >
37
- < li > < a href ="https://stackoverflow.com/questions/tagged/nativescript " target ="_blank "> Stack Overflow</ a > </ li >
41
+ < li > < a href ="https://stackoverflow.com/questions/tagged/nativescript " target ="_blank "> Stack Overflow</ a >
42
+ </ li >
38
43
< li > < a href ="{{site.headerbaseurl}}/faq "> FAQs</ a > </ li >
39
44
< li > < a href ="{{site.headerbaseurl}}/slack-invitation-form "> Slack</ a > </ li >
40
45
< li > < a href ="{{site.headerbaseurl}}/developer-support "> Professional Support</ a > </ li >
54
59
< a href ="{{site.headerbaseurl}}/blog "> Blogs</ a >
55
60
</ li >
56
61
< li >
57
- < span class ="k-link -github "> < a href ="https://github.com/NativeScript/NativeScript "> < i class ="fab fa-github "> </ i > </ a > </ span >
62
+ < span class ="k-link -github "> < a href ="https://github.com/NativeScript/NativeScript "> < i
63
+ class ="fab fa-github "> </ i > </ a > </ span >
58
64
</ li >
59
65
< li >
60
- <!--
66
+
61
67
< a class ="ns-button -action " href ="https://play.nativescript.org/?utm_medium=website&utm_campaign=useownrealestate&utm_source=docsnativescriptdotcom&utm_content=topnavgreenbutton "> Get Started</ a >
62
- -->
63
- < a class ="ns-button -action " href ="https://www.nativescript.org/getting-started-with-nativescript?utm_medium=website&utm_campaign=useownrealestate&utm_source=docsnativescriptdotcom&utm_content=topnavgreenbutton "> Get Started</ a >
68
+
64
69
</ li >
65
70
< li >
66
71
< span id ="current-version "> </ span >
70
75
</ ul >
71
76
</ div >
72
77
< script >
73
- $ . getJSON ( "https://raw.githubusercontent.com/tsonevn/docstest/master/versions.json" , function ( data ) {
74
- var baseUrl = document . location . origin ;
75
- data [ "versions" ] . forEach ( function ( val ) {
76
- if ( baseUrl . indexOf ( val [ 'url' ] ) >= 0 ) {
77
- $ ( '#current-version' ) . text ( "Current version " + val [ 'version' ] ) ;
78
- $ ( '#versions-list' ) . append ( "<li class='k-item k-state-active k-first'><a class='k-link' id='" + val [ 'url' ] + "'>Version " + val [ 'version' ] + "</a></li>" )
79
- } else {
80
- $ ( '#versions-list' ) . append ( "<li class='k-item k-state-default k-first'><a class='k-link' id='" + val [ 'url' ] + "'>Version " + val [ 'version' ] + "</a></li>" )
78
+ function getCookie ( n ) { for ( var t = n + "=" , e = document . cookie . split ( ";" ) , r = 0 ; r < e . length ; r ++ ) { for ( var i = e [ r ] ; " " === i . charAt ( 0 ) ; ) i = i . substring ( 1 , i . length ) ; if ( 0 === i . indexOf ( t ) ) return i . substring ( t . length , i . length ) } return null }
79
+ function setCookie ( e , t , i ) { var o ; if ( i ) { var n = new Date ; n . setTime ( n . getTime ( ) + 24 * i * 60 * 60 * 1e3 ) , o = "; expires=" + n . toGMTString ( ) } else o = "" ; document . cookie = e + "=" + t + o + "; path=/" }
80
+ $ . getJSON ( "https://raw.githubusercontent.com/tsonevn/docstest/master/versions.json" , function ( data ) {
81
+ var varray = data [ `versions` ] . sort ( ( a , b ) => parseFloat ( a [ `version` ] ) - parseFloat ( b [ `version` ] ) ) ;
82
+ var docsUrl = window . location . href ;
83
+ var baseUrl = window . location . origin ;
84
+ var currentvfound = false ;
85
+ var name = "ns-current-base-url" ;
86
+ for ( var i = 0 ; i < varray . length - 1 ; i ++ ) {
87
+ var currentversion = ( varray [ i ] [ 'version' ] . replace ( / \s / g, "" ) ) . replace ( "." , "_" ) ;
88
+ var itemUrl = baseUrl + "/" + currentversion ;
89
+ if ( ( docsUrl . indexOf ( currentversion ) >= 0 ) && ( ! currentvfound ) ) {
90
+ currentvfound = true
91
+ $ ( '#current-version' ) . text ( "Current version " + varray [ i ] [ 'version' ] ) ;
92
+ setCookie ( name , itemUrl , 1 ) ;
93
+
81
94
}
82
- } ) ;
83
- $ ( '#versions-list a' ) . click ( function ( ev ) {
95
+ $ ( '#versions-list' ) . append ( "<li class='k-item k-state-default k-first'><a class='k-link' id='" + itemUrl + "'>Version " + varray [ i ] [ 'version' ] + "</a></li>" ) ;
96
+ }
97
+ var lastindex = varray . length - 1 ;
98
+ $ ( '#versions-list' ) . append ( "<li class='k-item k-state-default k-first'><a class='k-link' id='" + baseUrl + "'>Version " + varray [ lastindex ] [ 'version' ] + "</a></li>" ) ;
99
+ if ( ! currentvfound ) {
100
+ currentvfound = true ;
101
+ $ ( '#current-version' ) . text ( "Current version " + varray [ lastindex ] [ 'version' ] ) ;
102
+ setCookie ( name , baseUrl , 1 ) ;
103
+ }
104
+ $ ( '#versions-list a' ) . click ( function ( ev ) {
84
105
ev . preventDefault ( ) ;
106
+ var name = "ns-current-base-url" ;
107
+ var newBaseUrl = event . target . id ;
108
+ var currentBaseUrl = getCookie ( name ) ;
85
109
var url = window . location . href ;
86
- var baseUrlPattern = / ^ h t t p s ? : \/ \/ [ a - z \: 0 - 9 . ] + / ;
87
- var result = "" ;
88
-
89
- var match = baseUrlPattern . exec ( url ) ;
90
- if ( match != null ) {
91
- result = match [ 0 ] ;
92
- }
93
- var targetURL = undefined ;
94
- if ( ( result . length > 0 ) && ( event . target . id ) && ( result != event . target . id ) ) {
95
- targetURL = event . target . id ;
96
- url = url . replace ( result , targetURL ) ;
110
+ if ( newBaseUrl != currentBaseUrl ) {
111
+
112
+ var newUrl = url . replace ( currentBaseUrl , newBaseUrl ) ;
113
+ setCookie ( name , newBaseUrl , 1 ) ;
97
114
$ . ajax ( {
98
115
type : 'HEAD' ,
99
- url : url ,
100
- success : function ( ) {
101
- window . location . replace ( url ) ;
102
- window . location . href = url ;
116
+ url : newUrl ,
117
+ success : function ( ) {
118
+ window . location . href = newUrl ;
103
119
} ,
104
- error : function ( err ) {
105
- window . location . href = targetURL ;
120
+ error : function ( err ) {
121
+ window . location . href = newBaseUrl ;
106
122
}
107
123
} ) ;
108
- } else {
109
- console . log ( "Error: no targetURL" )
124
+
110
125
}
111
-
112
- // document.getElementById(divId).className = '';
113
- } ) ;
126
+ } ) ;
114
127
} )
115
-
116
128
</ script >
117
129
< script >
118
130
window . nsMenu = $ ( ".ns-menu" ) . remove ( ) ;
@@ -133,4 +145,4 @@ <h1>Documentation</h1>
133
145
</div>
134
146
</div>
135
147
</div>
136
- -->
148
+ -->
0 commit comments