@@ -67,7 +67,9 @@ $( document ).on( "pagecreate", function() {
6767} ) ;
6868
6969$ ( document ) . on ( "pagecreate" , ".jqm-demos" , function ( ) {
70- var page = $ ( this ) ;
70+ var page = $ ( this ) ,
71+ searchUrl = ( $ ( this ) . hasClass ( "jqm-home" ) ) ? "_search/" : "../_search/" ,
72+ searchContents = $ ( ".jqm-search ul.jqm-list" ) . find ( "li:not(.ui-collapsible)" ) ;
7173
7274 // global navmenu panel
7375 $ ( ".jqm-navmenu-link" ) . on ( "click" , function ( ) {
@@ -78,9 +80,8 @@ $( document ).on( "pagecreate", ".jqm-demos", function() {
7880 $ ( ".jqm-search-link" ) . on ( "click" , function ( ) {
7981 page . find ( ".jqm-search-panel" ) . panel ( "open" ) ;
8082 } ) ;
81-
82- $ ( this ) . find ( ".jqm-search ul.jqm-list" ) . listview ( {
83- globalNav : "demos" ,
83+
84+ $ ( this ) . find ( ".jqm-search ul.jqm-list" ) . html ( searchContents ) . listview ( {
8485 inset : false ,
8586 theme : null ,
8687 dividerTheme : null ,
@@ -92,11 +93,10 @@ $( document ).on( "pagecreate", ".jqm-demos", function() {
9293 arrowKeyNav : true ,
9394 enterToNav : true ,
9495 highlight : true ,
95- submitTo : "_search/"
96- } ) ;
96+ submitTo : searchUrl
97+ } ) . filterable ( ) ;
9798
98- $ ( this ) . find ( ".jqm-content ul.jqm-list" ) . listview ( {
99- globalNav : "demos" ,
99+ $ ( this ) . find ( ".jqm-content ul.jqm-list" ) . html ( searchContents ) . listview ( {
100100 inset : true ,
101101 theme : null ,
102102 dividerTheme : null ,
@@ -112,16 +112,24 @@ $( document ).on( "pagecreate", ".jqm-demos", function() {
112112 } ) ;
113113} ) ;
114114
115+ //fix links on homepage to point to sub directories
116+ $ ( document ) . on ( "pagecreate" , ".jqm-home" , function ( ) {
117+ $ ( this ) . find ( "a" ) . each ( function ( ) {
118+ $ ( this ) . attr ( "href" , $ ( this ) . attr ( "href" ) . replace ( "../" , "" ) ) ;
119+ } ) ;
120+ } ) ;
121+
115122$ ( document ) . on ( "pageshow" , ".jqm-demos" , function ( ) {
116123 $ ( this ) . find ( ".jqm-search input" ) . attr ( "autocomplete" , "off" ) . attr ( "autocorrect" , "off" ) ;
117124} ) ;
118125
119- $ ( document ) . on ( "pageshow" , ".jqm-demos-search-results" , function ( ) {
120- var search = $ . mobile . path . parseUrl ( window . location . href ) . search . split ( "=" ) [ 1 ] , self = this ;
126+ $ ( document ) . on ( "pagecreate" , ".jqm-demos-search-results" , function ( ) {
127+ var search = $ . mobile . path . parseUrl ( window . location . href ) . search . split ( "=" ) [ 1 ] ,
128+ that = this ;
121129 setTimeout ( function ( ) {
122130 e = $ . Event ( "keyup" ) ;
123131 e . which = 65 ;
124- $ ( self ) . find ( ".jqm-content .jqm-search-results-wrap input" ) . val ( search ) . trigger ( e ) . trigger ( "change" ) ;
132+ $ ( that ) . find ( ".jqm-content .jqm-search-results-wrap input" ) . val ( search ) . trigger ( e ) . trigger ( "change" ) ;
125133 } , 0 ) ;
126134} ) ;
127135
@@ -176,7 +184,6 @@ $( document ).on( "mobileinit", function() {
176184 corners : true ,
177185 shadow : true ,
178186 inset : false ,
179- initSelector : ":jqmData(role='listview')" ,
180187 arrowKeyNav : false ,
181188 enterToNav : false ,
182189 highlight : false ,
@@ -200,9 +207,7 @@ $( document ).on( "mobileinit", function() {
200207 form . attr ( "method" , "get" )
201208 . attr ( "action" , this . options . submitTo ) ;
202209
203- var base = $ ( "base" ) . attr ( "href" ) . split ( "demos" ) [ 0 ] ;
204- base = base . split ( "index.html" ) [ 0 ] + "demos" + "/" ;
205- url = base + this . options . submitTo + "?search=" + this . element . parent ( ) . find ( "input" ) . val ( ) ;
210+ var url = this . options . submitTo + "?search=" + this . element . parent ( ) . find ( "input" ) . val ( ) ;
206211
207212 $ ( ":mobile-pagecontainer" ) . pagecontainer ( "change" , url ) ;
208213 } ,
@@ -221,7 +226,7 @@ $( document ).on( "mobileinit", function() {
221226 } ,
222227 enhanced : false ,
223228 arrowKeyNav : function ( ) {
224- var input = this . element . parent ( ) . find ( "input" ) ;
229+ var input = this . element . prev ( "form" ) . find ( "input" ) ;
225230
226231 if ( ! this . enhanced ) {
227232 this . _on ( input , {
@@ -232,24 +237,25 @@ $( document ).on( "mobileinit", function() {
232237 }
233238 } ,
234239 handleKeyUp : function ( e ) {
235- var input = this . element . parent ( ) . find ( "input" ) ;
240+ var input = this . element . prev ( "form" ) . find ( "input" ) ;
236241
237- if ( e . which === $ . mobile . keyCode . DOWN ) {
242+ if ( e . which === $ . ui . keyCode . DOWN ) {
238243 if ( this . element . find ( "li.ui-btn-active" ) . length == 0 ) {
239- this . element . find ( "li:first" ) . toggleClass ( "ui-btn-active" ) ;
244+ this . element . find ( "li:first" ) . toggleClass ( "ui-btn-active" ) . find ( "a" ) . toggleClass ( "ui-btn-active" ) ;
240245 } else {
241- this . element . find ( "li.ui-btn-active" ) . toggleClass ( "ui-btn-active" ) . next ( ) . toggleClass ( "ui-btn-active" ) ;
246+ this . element . find ( "li.ui-btn-active a" ) . toggleClass ( "ui-btn-active" ) ;
247+ this . element . find ( "li.ui-btn-active" ) . toggleClass ( "ui-btn-active" ) . next ( ) . toggleClass ( "ui-btn-active" ) . find ( "a" ) . toggleClass ( "ui-btn-active" ) ;
242248 }
243249
244250 this . highlightDown ( ) ;
245- } else if ( e . which === $ . mobile . keyCode . UP ) {
251+ } else if ( e . which === $ . ui . keyCode . UP ) {
246252 if ( this . element . find ( "li.ui-btn-active" ) . length !== 0 ) {
247- this . element . find ( "li.ui-btn-active" ) . toggleClass ( "ui-btn-active" ) . prev ( ) . toggleClass ( "ui-btn-active" ) ;
248-
249- this . highlightUp ( )
253+ this . element . find ( "li.ui-btn-active a" ) . toggleClass ( "ui-btn-active" ) ;
254+ this . element . find ( "li.ui-btn-active" ) . toggleClass ( "ui-btn-active" ) . prev ( ) . toggleClass ( "ui-btn-active" ) . find ( "a" ) . toggleClass ( "ui-btn-active" ) ;
250255 } else {
251- this . element . find ( "li:last" ) . toggleClass ( "ui-btn-a" ) . toggleClass ( "ui-btn-active" ) ;
256+ this . element . find ( "li:last" ) . toggleClass ( "ui-btn-active" ) . find ( "a" ) . toggleClass ( "ui-btn-active" ) ;
252257 }
258+ this . highlightUp ( ) ;
253259 } else if ( typeof e . which !== "undefined" ) {
254260 this . element . find ( "li.ui-btn-active" ) . removeClass ( "ui-btn-active" ) ;
255261
@@ -277,16 +283,16 @@ $( document ).on( "mobileinit", function() {
277283 } ,
278284 highlightDown : function ( ) {
279285 if ( this . element . find ( "li.ui-btn-active" ) . hasClass ( "ui-screen-hidden" ) ) {
280- this . element . find ( "li.ui-btn-active" ) . toggleClass ( "ui-btn-active" ) . next ( ) . toggleClass ( "ui-btn-active" ) ;
281-
286+ this . element . find ( "li.ui-btn-active" ) . find ( "a" ) . toggleClass ( "ui-btn-active" ) ;
287+ this . element . find ( "li.ui-btn-active" ) . toggleClass ( "ui-btn-active" ) . next ( ) . toggleClass ( "ui-btn-active" ) . find ( "a" ) . toggleClass ( "ui-btn-active" ) ;
282288 this . highlightDown ( ) ;
283289 }
284290 return ;
285291 } ,
286292 highlightUp : function ( ) {
287293 if ( this . element . find ( "li.ui-btn-active" ) . hasClass ( "ui-screen-hidden" ) ) {
288- this . element . find ( "li.ui-btn-active" ) . toggleClass ( "ui-btn-active" ) . prev ( ) . toggleClass ( "ui-btn-active" ) ;
289-
294+ this . element . find ( "li.ui-btn-active" ) . find ( "a" ) . toggleClass ( "ui-btn-active" ) ;
295+ this . element . find ( "li.ui-btn-active" ) . toggleClass ( "ui-btn-active" ) . prev ( ) . toggleClass ( "ui-btn-active" ) . find ( "a" ) . toggleClass ( "ui-btn-active" ) ;
290296 this . highlightUp ( ) ;
291297 }
292298 return ;
0 commit comments