{"version":3,"sources":["../ts/modules/downloads-search-results.ts"],"names":["$","$window","window","$trs","find","availableViews","Array","from","e","attr","$tbodies","parent","$view","getSelectedView","children","filter","val","selectView","viewName","$viewOptions","$newSelectedOption","i","length","prop","defaultSelectedView","bind","newState","selectedViewValue","inArray","deparam","fragment","view","bbq","pushState","target","triggerHandler","each","o","$tr","wrapInner","create","escape_1","url","prepend","addClass","html","click","state","oldView","newView","preventDefault","oldViewValue","removeClass","let","newViewValue"],"mappings":"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","file":"downloads-search-results.js","sourcesContent":["import { url as escapeUrl } from 'utilities/escape';\r\nimport * as $ from 'jquery';\r\n\r\n$( () => {\r\n\tconst $window = $( window ),\r\n\t\t$trs = $( '.sublayout-etdownloadssearchresults-listing' ).find( 'tr[data-view]' ),\r\n\t\tavailableViews = Array.from( $trs, e => $(e).attr( 'data-view' ) ),\r\n\t\t$tbodies = $trs.parent( 'tbody' ),\r\n\t\t$view = $( '.sublayout-etdownloadssearch select:eq(1)' );\r\n\r\n\tfunction getSelectedView() {\r\n\t\treturn $view.children( 'option' ).filter( ':selected' ).val() || 'all';\r\n\t}\r\n\r\n\tfunction selectView( viewName: string ) {\r\n\t\tconst $viewOptions = $view.children( 'option' ),\r\n\t\t\t$newSelectedOption = $viewOptions.filter( ( i, e ) => $(e).val() === viewName );\r\n\t\tif( $newSelectedOption.length > 0 ) {\r\n\t\t\t$viewOptions.prop( 'selected', false );\r\n\t\t\t$newSelectedOption.prop( 'selected', true );\r\n\t\t}\r\n\t}\r\n\r\n\tif( $tbodies.length > 0 ) {\r\n\t\tconst [ defaultSelectedView = 'all' ] = availableViews;\r\n\t\t$view\r\n\t\t.bind( 'change.downloadsearchresults', () => {\r\n\t\t\tconst selectedViewValue = getSelectedView();\r\n\r\n\t\t\tif( $.inArray( selectedViewValue, availableViews ) >= 0 ) {\r\n\t\t\t\tconst newState = $.deparam.fragment();\r\n\r\n\t\t\t\tif( selectedViewValue === defaultSelectedView ) delete newState.view;\r\n\t\t\t\telse newState.view = selectedViewValue;\r\n\t\t\t\t$.bbq.pushState( newState, 2 );\r\n\t\t\t}\r\n\t\t} )\r\n\t\t.bind( 'keyup.downloadsearchresults', e => {\r\n\t\t\t$(e.target).triggerHandler( 'change.downloadsearchresults' );\r\n\t\t} );\r\n\r\n\t\t$tbodies.each( ( i, o ) => {\r\n\t\t\tconst $tr = $(o).find( 'tr[data-view]' );\r\n\r\n\t\t\tif( $tr.length < 1 ) return;\r\n\r\n\t\t\tconst view = $tr.attr( 'data-view' );\r\n\r\n\t\t\t$tr.children( 'th:eq(0)' )\r\n\t\t\t.wrapInner( $.create( 'a' ).attr( 'href', escapeUrl`#view=${view}` ) )\r\n\t\t\t.find( 'a' )\r\n\t\t\t.prepend( $.create( 'span' ).addClass( 'arrow' ).html( ' ' ) )\r\n\t\t\t.click( e => {\r\n\t\t\t\tconst state = $.deparam.fragment(),\r\n\t\t\t\t\toldView = state.view || defaultSelectedView,\r\n\t\t\t\t\tnewView = view;\r\n\r\n\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\tif( oldView === newView ) state.view = 'collapsed';\r\n\t\t\t\telse if( ( $.inArray( newView, availableViews ) >= 0 ) && ( newView !== defaultSelectedView ) ) state.view = newView;\r\n\t\t\t\telse delete state.view;\r\n\r\n\t\t\t\t$.bbq.pushState( state, 2 );\r\n\t\t\t} );\r\n\t\t} );\r\n\r\n\t\t$window.bind( 'hashchange.downloadssearchresults', () => {\r\n\t\t\tconst { view = defaultSelectedView } = $.deparam.fragment(),\r\n\t\t\t\toldViewValue = getSelectedView();\r\n\r\n\t\t\t$tbodies.removeClass( 'expanded' ).addClass( 'collapsed' );\r\n\r\n\t\t\tlet newViewValue: string;\r\n\t\t\tconst $tr = $trs.filter( ( i, e ) => $(e).attr( 'data-view' ) === view );\r\n\t\t\tif( $tr.length > 0 ) {\r\n\t\t\t\t$tr.parent( 'tbody' ).removeClass( 'collapsed' ).addClass( 'expanded' );\r\n\t\t\t\tnewViewValue = ( view === 'all' ) ? '' : view;\r\n\t\t\t}\r\n\r\n\t\t\tif( oldViewValue !== newViewValue ) selectView( newViewValue );\r\n\t\t} );\r\n\r\n\t\t$view.bind( 'databound.downloadssearchresults', () => {\r\n\t\t\t$window.triggerHandler( 'hashchange.downloadssearchresults' );\r\n\t\t} );\r\n\r\n\t\t( () => {\r\n\t\t\tconst state = $.deparam.fragment(),\r\n\t\t\t\toldView = state.view;\r\n\r\n\t\t\tselectView( oldView );\r\n\r\n\t\t\tif( state.view === defaultSelectedView ) delete state.view;\r\n\t\t\telse if( $.inArray( state.view, availableViews ) < 0 ) delete state.view;\r\n\r\n\t\t\tif( oldView !== state.view ) $.bbq.pushState( state, 2 );\r\n\t\t\telse $window.triggerHandler( 'hashchange.downloadssearchresults' );\r\n\t\t} )();\r\n\t}\r\n} );\r\n"]}