| 1 |
/** |
| 2 |
* Submissions list page — export and essential columns functionality. |
| 3 |
* |
| 4 |
* @package ContactForms |
| 5 |
* @since 2.2.5 |
| 6 |
*/ |
| 7 |
/* global jQuery, ajaxurl, pagenow, accuaSubmissionsList */ |
| 8 |
( function( $ ) { |
| 9 |
var config = accuaSubmissionsList || {}; |
| 10 |
|
| 11 |
window.set_parameter = function( sel_column ) { |
| 12 |
var stringa = ''; |
| 13 |
var name_action = ajaxurl + '?action=accua_forms_submission_page_save_excel' |
| 14 |
+ config.exportParams |
| 15 |
+ '&_wpnonce=' + config.exportNonce; |
| 16 |
|
| 17 |
if ( sel_column ) { |
| 18 |
$( '#adv-settings input[type=checkbox]:checked' ).each( function() { |
| 19 |
stringa += this.value + '%2C'; |
| 20 |
} ); |
| 21 |
} else { |
| 22 |
$( '#adv-settings input[type=checkbox]' ).each( function() { |
| 23 |
stringa += this.value + '%2C'; |
| 24 |
} ); |
| 25 |
} |
| 26 |
|
| 27 |
var search = $( '#search_id-search-input' ).val(); |
| 28 |
var pid = $( 'select[name="pid"]' ).val(); |
| 29 |
var fid = $( 'select[name="fid"]' ).val(); |
| 30 |
var year = $( 'select[name="year"]' ).val(); |
| 31 |
var month = $( 'select[name="month"]' ).val(); |
| 32 |
if ( search ) name_action += '&s=' + encodeURIComponent( search ); |
| 33 |
if ( pid && pid !== '-1' ) name_action += '&pid=' + pid; |
| 34 |
if ( fid && fid !== '-1' ) name_action += '&fid=' + fid; |
| 35 |
if ( year && year !== '-1' ) name_action += '&year=' + year; |
| 36 |
if ( month && month !== '-1' ) name_action += '&month=' + month; |
| 37 |
if ( stringa ) name_action += '&accua_show_field=' + stringa; |
| 38 |
|
| 39 |
if ( sel_column ) { |
| 40 |
$( '#esporta_link_visible_column' ).attr( 'href', name_action ); |
| 41 |
} else { |
| 42 |
$( '#esporta_link_all_column' ).attr( 'href', name_action ); |
| 43 |
} |
| 44 |
}; |
| 45 |
|
| 46 |
window.setEssentialColumns = function() { |
| 47 |
var essentialCols = [ 'ID', 'singlesub', 'form_title', 'ip', 'uri', 'referrer', 'lang', 'submitted', '_field_email' ]; |
| 48 |
var changed = false; |
| 49 |
|
| 50 |
$( '#adv-settings input.hide-column-tog' ).each( function() { |
| 51 |
var col = this.value; |
| 52 |
var shouldBeVisible = essentialCols.indexOf( col ) !== -1; |
| 53 |
if ( $( this ).prop( 'checked' ) !== shouldBeVisible ) { |
| 54 |
changed = true; |
| 55 |
$( this ).prop( 'checked', shouldBeVisible ); |
| 56 |
$( 'th[id="' + col + '"]' ).toggleClass( 'hidden', ! shouldBeVisible ); |
| 57 |
} |
| 58 |
} ); |
| 59 |
|
| 60 |
if ( ! changed ) { |
| 61 |
return; |
| 62 |
} |
| 63 |
|
| 64 |
var hidden = $( '.manage-column[id]' ).filter( '.hidden' ).map( function() { |
| 65 |
return this.id; |
| 66 |
} ).get().join( ',' ); |
| 67 |
|
| 68 |
$.post( ajaxurl, { |
| 69 |
action: 'hidden-columns', |
| 70 |
hidden: hidden, |
| 71 |
screenoptionnonce: $( '#screenoptionnonce' ).val(), |
| 72 |
page: pagenow |
| 73 |
} ).always( function() { |
| 74 |
location.reload(); |
| 75 |
} ); |
| 76 |
}; |
| 77 |
}( jQuery ) ); |
| 78 |
|