80 lines
2.9 KiB
JavaScript
80 lines
2.9 KiB
JavaScript
jQuery( function( $ ) {
|
|
|
|
if ( ! window.hasOwnProperty( 'wcTracks' ) ) {
|
|
return;
|
|
}
|
|
|
|
function record_event( eventName, properties = {} ) {
|
|
window.wcTracks.recordEvent( eventName, properties );
|
|
}
|
|
|
|
// Add event listeners to Subscription Events by Date report clickable filters.
|
|
if ( $( "#report_subscription_events_by_date_new" ).length ) {
|
|
|
|
var filters = {
|
|
'new': 'subscriptions_report_events_by_date_new_filter_click',
|
|
'signups': 'subscriptions_report_events_by_date_signups_filter_click',
|
|
'resubscribes': 'subscriptions_report_events_by_date_resubscribes_filter_click',
|
|
'renewals': 'subscriptions_report_events_by_date_renewals_filter_click',
|
|
'switches': 'subscriptions_report_events_by_date_switches_filter_click',
|
|
'cancellations': 'subscriptions_report_events_by_date_cancellations_filter_click',
|
|
'ended': 'subscriptions_report_events_by_date_ended_filter_click',
|
|
'current': 'subscriptions_report_events_by_date_current_filter_click',
|
|
}
|
|
|
|
$.each( filters, function( key, value ) {
|
|
$( "#report_subscription_events_by_date_" + key ).on( 'click', function() {
|
|
// if range is not a URL param, we are looking at the default 7 day range.
|
|
var properties = {
|
|
range: location.search.includes( 'range' ) ? location.search.match( /range=([^&#]*)/ )[1] : '7day'
|
|
};
|
|
|
|
if ( 'custom' === properties.range ) {
|
|
// Start or end dates may be ommitted.
|
|
properties.start_date = location.search.includes( 'start_date=' )
|
|
? location.search.match( /start_date=([^&#]*)/ )[1]
|
|
: null;
|
|
|
|
properties.end_date = location.search.includes( 'end_date=' )
|
|
? location.search.match( /end_date=([^&#]*)/ )[1]
|
|
: new Date().toISOString().split( 'T' )[0];
|
|
|
|
properties.span = properties.start_date
|
|
? Math.floor( ( new Date( properties.end_date ) - new Date( properties.start_date ) ) / 86400000 ) + 1 + 'day'
|
|
: null;
|
|
}
|
|
|
|
record_event( value, properties );
|
|
} );
|
|
} );
|
|
}
|
|
|
|
// Add event listeners to Subscription by Product report links.
|
|
if ( $( "tbody[ data-wp-lists='list:product' ]" ).length ) {
|
|
|
|
$( "td.product_name a" ).on( 'click', function() {
|
|
record_event( 'subscriptions_report_by_product_name_click' );
|
|
} );
|
|
|
|
$( "td.subscription_count a" ).on( 'click', function() {
|
|
record_event( 'subscriptions_report_by_product_count_click' );
|
|
} );
|
|
}
|
|
|
|
// Add event listeners to Subscription by Customer report links.
|
|
if ( $( "tbody[ data-wp-lists='list:customer' ]" ).length ) {
|
|
|
|
$( "td.customer_name a" ).on( 'click', function() {
|
|
record_event( 'subscriptions_report_by_customer_name_click' );
|
|
} );
|
|
|
|
$( "td.total_subscription_count a" ).on( 'click', function() {
|
|
record_event( 'subscriptions_report_by_customer_total_count_click' );
|
|
} );
|
|
|
|
$( "td.total_subscription_order_count a" ).on( 'click', function() {
|
|
record_event( 'subscriptions_report_by_customer_total_order_count_click' );
|
|
} );
|
|
}
|
|
});
|