@@ -110,13 +110,6 @@ var loadGrid = function(canonical_event_key = null, cand_events_str = null) {
110110 . fail ( function ( ) { return makeError ( req . responseText ) ; } ) ;
111111}
112112
113- /**
114- * Loads the search results for the given query.
115- * @returns true if successful, false otherwise.
116- */
117- var loadSearch = function ( ) {
118- initializeSearchListeners ( ) ;
119- }
120113
121114/**
122115 * Removes the block from the canonical record.
@@ -143,12 +136,64 @@ var removeCanonical = function () {
143136 . fail ( function ( ) { return makeError ( req . responseText ) ; } ) ;
144137}
145138
139+ 140+ /**
141+ * Loads the search results for the given query from the existing forms.
142+ * @returns true if successful, false otherwise.
143+ */
144+ var loadSearch = function ( rewrite_url = false ) {
145+ var req = $ . ajax ( {
146+ url : $SCRIPT_ROOT + '/do_search' ,
147+ type : "POST" ,
148+ data :
149+ $ ( '#adj_search_form, #adj_filter_form, #adj_sort_form' ) . serialize ( ) ,
150+ beforeSend : function ( ) {
151+ $ ( '.flash' ) . removeClass ( 'alert-danger' ) ;
152+ $ ( '.flash' ) . addClass ( 'alert-info' ) ;
153+ $ ( '.flash' ) . text ( "Loading..." ) ;
154+ $ ( '.flash' ) . show ( ) ;
155+ }
156+ } )
157+ . done ( function ( ) {
158+ // Update content block.
159+ $ ( '#cand-search_block' ) . html ( req . responseText ) ;
160+ 161+ // Update the search button text.
162+ n_results = req . getResponseHeader ( 'Search-Results' ) ;
163+ $ ( '#cand-search-text' ) . text ( "Search (" + n_results + " results)" ) ;
164+ 165+ // Update the candidate button text.
166+ $ ( '#cand_button-link' ) . text ( "Candidate Events*" ) ;
167+ 168+ if ( rewrite_url == true ) {
169+ // Update the URL search params.
170+ let curr_search_params = new URLSearchParams ( window . location . search ) ;
171+ var search_params = jQuery . parseJSON ( req . getResponseHeader ( 'Query' ) ) ;
172+ for ( var key in search_params ) {
173+ curr_search_params . set ( key , search_params [ key ] ) ;
174+ }
175+ 176+ var new_url = 'adj?' + curr_search_params . toString ( ) ;
177+ window . history . pushState ( { path : new_url } , '' , new_url ) ;
178+ }
179+ 180+ initializeSearchListeners ( ) ;
181+ 182+ // get rid of loading flash
183+ $ ( '.flash' ) . hide ( ) ;
184+ $ ( '.flash' ) . removeClass ( 'alert-info' ) ;
185+ return true ;
186+ } )
187+ . fail ( function ( ) { return makeError ( req . responseText ) ; } ) ;
188+ }
189+ 190+ 146191/**
147192 * Toggles flags for candidate events.
148193 * @param {Event } e - click event
149194 * @param {str } operation - add or deletion operation. takes values 'add' or 'del'
150195 * @param {str } flag - the flag to add to this event
151- * @returns true if success , false otherwise
196+ * @returns true if successful , false otherwise.
152197 */
153198var toggleFlag = function ( e , operation , flag ) {
154199 if ( operation != 'add' & operation != 'del' ) {
@@ -179,6 +224,7 @@ var toggleFlag = function(e, operation, flag) {
179224 . fail ( function ( ) { return makeError ( req . responseText ) ; } ) ;
180225}
181226
227+ 182228/**
183229 *
184230 * @param {str } mode - add or edit
@@ -544,79 +590,48 @@ $(function () {
544590 } ) ;
545591
546592 // Listener for filters and sorting
547- $ ( '#adj-filter-button ' ) . click ( function ( ) {
593+ $ ( '#adj_filter_button ' ) . click ( function ( ) {
548594 var req = $ . ajax ( {
549595 url : $SCRIPT_ROOT + '/adj_search/filter' ,
550596 type : "POST" ,
551597 data : {
552598 is_addition : true
553599 }
554600 } )
555- . done ( function ( ) { $ ( '#adj-filter-form ' ) . append ( req . responseText ) ; } )
601+ . done ( function ( ) { $ ( '#adj_filter_form ' ) . append ( req . responseText ) ; } )
556602 . fail ( function ( ) { return makeError ( req . responseText ) ; } ) ;
557603 } ) ;
558604
559- $ ( '#adj-sort-button ' ) . click ( function ( ) {
605+ $ ( '#adj_sort_button ' ) . click ( function ( ) {
560606 var req = $ . ajax ( {
561607 url : $SCRIPT_ROOT + '/adj_search/sort' ,
562608 type : "POST" ,
563609 data : {
564610 is_addition : true
565611 }
566612 } )
567- . done ( function ( ) { $ ( '#adj-sort-form ' ) . append ( req . responseText ) ; } )
613+ . done ( function ( ) { $ ( '#adj_sort_form ' ) . append ( req . responseText ) ; } )
568614 . fail ( function ( ) { return makeError ( req . responseText ) ; } ) ;
569615 } ) ;
570616
571617 // Listener for search button.
572- $ ( '#adj-search-button' ) . click ( function ( ) {
573- var req = $ . ajax ( {
574- url : $SCRIPT_ROOT + '/do_search' ,
575- type : "POST" ,
576- data :
577- $ ( '#adj-search-form, #adj-filter-form, #adj-sort-form' ) . serialize ( ) ,
578- beforeSend : function ( ) {
579- $ ( '.flash' ) . removeClass ( 'alert-danger' ) ;
580- $ ( '.flash' ) . addClass ( 'alert-info' ) ;
581- $ ( '.flash' ) . text ( "Loading..." ) ;
582- $ ( '.flash' ) . show ( ) ;
583- }
584- } )
585- . done ( function ( ) {
586- // Update content block.
587- $ ( '#cand-search_block' ) . html ( req . responseText ) ;
588- 589- // Update the search button text.
590- n_results = req . getResponseHeader ( 'Search-Results' ) ;
591- $ ( '#cand-search-text' ) . text ( "Search (" + n_results + " results)" ) ;
618+ $ ( '#adj_search_button' ) . click ( loadSearch ) ;
592619
593- // Update the candidate button text.
594- $ ( '#cand_button-link' ) . text ( "Candidate Events*" ) ;
595- 596- // Update the URL search params.
597- let curr_search_params = new URLSearchParams ( window . location . search ) ;
598- var search_params = jQuery . parseJSON ( req . getResponseHeader ( 'Query' ) ) ;
599- for ( var key in search_params ) {
600- curr_search_params . set ( key , search_params [ key ] ) ;
601- }
602- 603- var new_url = 'adj?' + curr_search_params . toString ( ) ;
604- window . history . pushState ( { path : new_url } , '' , new_url ) ;
605- 606- initializeSearchListeners ( ) ;
607- 608- // get rid of loading flash
609- $ ( '.flash' ) . hide ( ) ;
610- $ ( '.flash' ) . removeClass ( 'alert-info' ) ;
611- return true ;
612- } )
613- . fail ( function ( ) { return makeError ( req . responseText ) ; } ) ;
614- } ) ;
615- 616- loadSearch ( ) ;
617- 618- // initialize the grid
620+ // initialize the grid and search
619621 let search_params = new URLSearchParams ( window . location . search ) ;
622+ var search_ids = [
623+ 'adj_search_input' ,
624+ 'adj_filter_compare' ,
625+ 'adj_filter_value' ,
626+ 'adj_filter_field' ,
627+ 'adj_sort_field' ,
628+ 'adj_sort_order'
629+ ]
630+ for ( var i = 0 ; i < search_ids . length ; i ++ ) {
631+ $ ( '#' + search_ids [ i ] ) . val ( search_params . get ( search_ids [ i ] ) ) ;
632+ }
633+ loadSearch ( ) ;
634+ 620635 loadGrid (
621636 search_params . get ( 'canonical_event_key' ) ,
622637 search_params . get ( 'cand_events' )
0 commit comments