Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 17
0.00% covered (danger)
0.00%
0 / 1
CRAP
n/a
0 / 0
wpcom_dashboard_tracks_enqueue
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 1
20
1<?php
2/**
3 * Tracks events for the Dashboard widgets: what renders, and what people toggle, move, and click.
4 *
5 * @package automattic/jetpack-mu-wpcom
6 */
7
8use function Automattic\Jetpack\Jetpack_Mu_Wpcom\Wpcom_Unified_Admin_Page_View\wpcom_unified_admin_tracks_props;
9
10/**
11 * Enqueue the Dashboard tracking script.
12 *
13 * @return void
14 */
15function wpcom_dashboard_tracks_enqueue() {
16    $screen = get_current_screen();
17    if ( ! $screen || 'dashboard' !== $screen->id ) {
18        return;
19    }
20
21    $props = wpcom_unified_admin_tracks_props();
22    if ( null === $props ) {
23        return;
24    }
25
26    $handle = jetpack_mu_wpcom_enqueue_assets( 'wpcom-dashboard-tracks', array( 'js' ) );
27
28    $data = wp_json_encode(
29        array(
30            'props'      => $props,
31            'siteDomain' => wp_parse_url( home_url(), PHP_URL_HOST ),
32            'adminPath'  => wp_parse_url( admin_url(), PHP_URL_PATH ),
33        ),
34        JSON_UNESCAPED_SLASHES | JSON_HEX_TAG | JSON_HEX_AMP
35    );
36
37    wp_add_inline_script( $handle, "var wpcomDashboardTracks = $data;", 'before' );
38}
39
40add_action( 'admin_enqueue_scripts', 'wpcom_dashboard_tracks_enqueue' );