@@ -272,52 +272,73 @@ <h4>Available Widgets</h4>
272272 . selectpicker ( 'render' ) ;
273273 }
274274
275- $ ( document ) . on ( 'submit' , 'form.finding-list' , function ( event ) {
276- var form = this ;
277- $ . get ( "{% url 'report_findings' %}?" + $ ( this ) . serialize ( ) ) . done ( function ( data ) {
275+ // Retrieves (report) data at the given url and inserts it as HTMl into $targetEl, and configures filters
276+ // on the returned data.
277+ function retrieveReportData ( url , $targetEl ) {
278+ $ . get ( url ) . done ( function ( data ) {
278279 filterFieldInit (
279- $ ( form ) . closest ( 'li.finding-list' ) . html ( data )
280+ $targetEl . html ( data )
280281 ) ;
281282 setUpFindingFilters ( ) ;
282283 } ) ;
284+ }
285+
286+ // --------
287+ // Findings
288+ // --------
283289
290+ // "Apply Filters"
291+ $ ( document ) . on ( 'submit' , 'form.finding-list' , function ( event ) {
292+ const $form = $ ( this ) ;
284293 event . preventDefault ( ) ;
294+ retrieveReportData (
295+ "{% url 'report_findings' %}?" + $form . serialize ( ) ,
296+ $form . closest ( 'li.finding-list' )
297+ ) ;
285298 } ) ;
286299
287- $ ( document ) . on ( 'click' , 'form.finding-list a.clear.centered, div.finding-pagination a' , function ( event ) {
288- $ . get ( "{% url 'report_findings' %}" ) . done ( function ( data ) {
289- filterFieldInit (
290- $ ( 'div.in-use-widgets li.finding-list' ) . html ( data )
291- ) ;
292- setUpFindingFilters ( ) ;
293- } ) ;
300+ // "Clear filters"
301+ $ ( document ) . on ( 'click' , 'form.finding-list a.clear.centered' , function ( event ) {
302+ const $a = $ ( this ) ;
303+ event . preventDefault ( ) ;
304+ retrieveReportData ( "{% url 'report_findings' %}" , $a . closest ( 'li.finding-list' ) ) ;
305+ } ) ;
294306
307+ // Sort/order columns and Pagination
308+ $ ( document ) . on ( 'click' , 'li.finding-list th a, div.finding-pagination a' , function ( event ) {
309+ const $a = $ ( this ) ;
295310 event . preventDefault ( ) ;
311+ retrieveReportData ( "{% url 'report_findings' %}" + $a . attr ( 'href' ) , $a . closest ( 'li.finding-list' ) ) ;
296312 } ) ;
297313
298- $ ( document ) . on ( 'submit' , 'form.endpoint-list' , function ( event ) {
299- var form = this ;
300- $ . get ( "{% url 'report_endpoints' %}?" + $ ( this ) . serialize ( ) ) . done ( function ( data ) {
301- filterFieldInit (
302- $ ( form ) . closest ( 'li.endpoint-list' ) . html ( data )
303- ) ;
304- setUpFindingFilters ( ) ;
305- } ) ;
314+ /// --------
315+ // Endpoints
316+ // ---------
306317
318+ // "Apply filters"
319+ $ ( document ) . on ( 'submit' , 'form.endpoint-list' , function ( event ) {
320+ const $form = $ ( this ) ;
307321 event . preventDefault ( ) ;
322+ retrieveReportData (
323+ "{% url 'report_endpoints' %}?" + $form . serialize ( ) ,
324+ $form . closest ( 'li.endpoint-list' )
325+ ) ;
308326 } ) ;
309327
310- $ ( document ) . on ( 'click' , 'form.endpoint-list a.clear.centered, div.endpoint-pagination a' , function ( event ) {
311- $ . get ( "{% url 'report_endpoints' %}" ) . done ( function ( data ) {
312- filterFieldInit (
313- $ ( 'div.in-use-widgets li.endpoint-list' ) . html ( data )
314- ) ;
315- setUpFindingFilters ( ) ;
316- } ) ;
317-
328+ // "Clear filters"
329+ $ ( document ) . on ( 'click' , 'form.endpoint-list a.clear.centered' , function ( event ) {
330+ const $a = $ ( this ) ;
318331 event . preventDefault ( ) ;
332+ retrieveReportData ( "{% url 'report_endpoints' %}" , $a . closest ( 'li.endpoint-list' ) ) ;
319333 } ) ;
320334
335+ // Pagination
336+ $ ( document ) . on ( 'click' , 'div.endpoint-pagination a' , function ( event ) {
337+ const $a = $ ( this ) ;
338+ event . preventDefault ( ) ;
339+ retrieveReportData ( "{% url 'report_endpoints' %}" + $a . attr ( 'href' ) , $a . closest ( 'li.endpoint-list' ) ) ;
340+ } )
341+
321342 $ ( '[data-toggle="tooltip"]' ) . tooltip ( )
322343
323344 $ ( document ) . on ( 'click' , '.in-use-widgets .panel-available-widget .panel-heading' , function ( event ) {
0 commit comments