@@ -87,18 +87,13 @@ var expand_adv_folder = function(res) {
8787 }
8888} ;
8989
90- $ ( document ) . on ( "change" , "input[name='all_folders'],input[name='all_special_folders'] " , function ( ) {
90+ $ ( document ) . on ( "change" , "input[name='all_folders']" , function ( ) {
9191 const folderLi = $ ( this ) . closest ( 'li' ) ;
92- const divergentCheckboxName = this . name === 'all_folders' ? 'all_special_folders' : 'all_folders' ;
93- const divergentCheckbox = $ ( this ) . closest ( 'div' ) . find ( `input[name='${ divergentCheckboxName } ']` )
9492
9593 if ( $ ( this ) . is ( ':checked' ) ) {
9694 folderLi . find ( 'a' ) . attr ( 'disabled' , 'disabled' ) ;
97- divergentCheckbox . prop ( 'checked' , false ) ;
98- divergentCheckbox . attr ( 'disabled' , 'disabled' ) ;
9995 } else {
10096 folderLi . find ( 'a' ) . removeAttr ( 'disabled' ) ;
101- divergentCheckbox . removeAttr ( 'disabled' ) ;
10297 }
10398} ) ;
10499
@@ -247,13 +242,7 @@ var get_adv_sources = function() {
247242 const searchInAllFolders = $ ( '.adv_folder_list li input[name="all_folders"]:checked' ) ;
248243 searchInAllFolders . each ( function ( ) {
249244 const li = $ ( this ) . closest ( 'li' ) ;
250- sources . push ( { 'source' : li . attr ( 'class' ) , 'label' : li . find ( 'a' ) . text ( ) , allFolders : true } ) ;
251- } ) ;
252-
253- const searchInSpecialFolders = $ ( '.adv_folder_list li input[name="all_special_folders"]:checked' ) ;
254- searchInSpecialFolders . each ( function ( ) {
255- const li = $ ( this ) . closest ( 'li' ) ;
256- sources . push ( { 'source' : li . attr ( 'class' ) , 'label' : li . find ( 'a' ) . text ( ) , specialFolders : true } ) ;
245+ sources . push ( { 'source' : li . attr ( 'class' ) , 'label' : li . find ( 'a' ) . first ( ) . text ( ) , allFolders : true } ) ;
257246 } ) ;
258247
259248 const selected_sources = $ ( 'div' , $ ( '.adv_source_list' ) ) ;
@@ -262,9 +251,8 @@ var get_adv_sources = function() {
262251 }
263252 selected_sources . each ( function ( ) {
264253 const source = this . className ;
265- const mailboxSource = source . split ( '_' ) . slice ( 0 , 2 ) . join ( '_' ) ;
266- if ( ! sources . find ( s => s . source . indexOf ( mailboxSource ) > - 1 ) ) {
267- sources . push ( { 'source' : source , 'label' : $ ( 'a' , $ ( this ) ) . text ( ) , subFolders : $ ( this ) . data ( 'subfolders' ) } ) ;
254+ if ( ! sources . find ( s => s . source === source ) ) {
255+ sources . push ( { 'source' : source , 'label' : $ ( this ) . text ( ) , subFolders : $ ( this ) . data ( 'subfolders' ) } ) ;
268256 }
269257 } ) ;
270258 return sources ;
@@ -440,8 +428,6 @@ var send_requests = function(requests) {
440428
441429 if ( request [ 'all_folders' ] ) {
442430 params . push ( { name : 'all_folders' , value : true } ) ;
443- } else if ( request [ 'all_special_folders' ] ) {
444- params . push ( { name : 'all_special_folders' , value : true } ) ;
445431 } else if ( request [ 'sub_folders' ] ) {
446432 params . push ( { name : 'include_subfolders' , value : true } ) ;
447433 }
@@ -504,10 +490,8 @@ var build_adv_search_requests = function(terms, sources, targets, times, other)
504490 time = times [ ti ] ;
505491 const config = { 'source' : source . source , 'time' : time , 'other' : other ,
506492 'targets' : target_vals , 'terms' : term_vals } ;
507- if ( source . allFolders ) {
493+ if ( source . allFolders || source . source . split ( '_' ) . filter ( part => part . trim ( ) !== '' ) . length === 2 ) {
508494 config [ 'all_folders' ] = true ;
509- } else if ( source . specialFolders ) {
510- config [ 'all_special_folders' ] = true ;
511495 } else if ( source . subFolders ) {
512496 config [ 'sub_folders' ] = true ;
513497 }
@@ -564,7 +548,7 @@ var apply_saved_search = function() {
564548 }
565549 }
566550 for ( var i = 0 , len = details [ 'sources' ] . length ; i < len ; i ++ ) {
567- add_source_to_list ( details [ 'sources' ] [ i ] [ 'source' ] , details [ 'sources' ] [ i ] [ 'label' ] ) ;
551+ add_source_to_list ( details [ 'sources' ] [ i ] [ 'source' ] , details [ 'sources' ] [ i ] [ 'label' ] , details [ 'sources' ] [ i ] [ 'subFolders' ] || false ) ;
568552 }
569553 for ( var i = 0 , len = details [ 'targets' ] . length ; i < len ; i ++ ) {
570554 if ( i == 0 ) {
0 commit comments