PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 12.8.3
Jetpack – WP Security, Backup, Speed, & Growth v12.8.3
12.0.3 12.1.3 12.2.3 12.3.2 12.4.2 12.5.2 12.6.4 12.7.3 12.8.3 12.9.5 13.0.2 13.1.5 13.2.4 13.3.3 13.4.5 13.5.2 13.6.2 13.7.2 13.8.3 13.9.2 14.0.1 14.1.1 14.2.2 14.3.1 14.4.2 14.5.1 14.6.1 14.7.1 14.8.1 14.9.2 15.0.3 15.1.2 15.2.1 15.3.2 15.4.1 15.5.1 15.6.1 15.7.2 15.8.1 15.9.2 16.0.2 16.1.3 16.2-a.5 16.2-a.3 16.1.2 16.2-a.1 16.1.1 16.1 16.1-beta 16.1-beta.2 16.1-beta.3 16.1-a.5 16.1-a.3 16.0.1 16.1-a.1 16.0 16.0-beta 16.0-a.7 16.0-a.5 15.9.1 16.0-a.3 16.0-a.1 15.9 15.9-beta 15.9-a.7 15.9-a.5 15.9-a.3 15.9-a.1 15.8 15.8-beta 15.8-a.7 15.8-a.5 5.2.5 5.3.4 5.4.4 5.5.5 5.6.5 5.7.5 5.8.4 5.9.4 6.0.4 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.7 6.4 6.4.1 6.4.2 6.4.3 6.4.4 6.4.5 6.4.6 6.5 6.5.1 6.5.2 6.5.3 6.5.4 6.6 6.6.1 6.6.2 6.6.3 6.6.4 6.6.5 6.7 6.7.1 6.7.2 6.7.3 6.7.4 6.8 6.8.1 6.8.2 6.8.3 6.8.4 6.8.5 6.9 6.9.1 6.9.2 6.9.3 6.9.4 7.0 7.0.1 7.0.2 7.0.3 7.0.4 7.0.5 7.1 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2 7.2.1 7.2.1.1 7.2.2 7.2.3 7.2.4 7.2.5 7.3 7.3.0.1 7.3.1 7.3.1.1 7.3.2 7.3.3 7.3.4 7.3.5 7.4 7.4.1 7.4.2 7.4.3 7.4.4 7.4.5 7.5 7.5.0.1 7.5.1 7.5.2 7.5.3 7.5.4 7.5.5 7.5.6 7.5.7 7.6 7.6.1 7.6.2 7.6.3 7.6.4 7.7 7.7.1 7.7.2 7.7.3 7.7.4 7.7.5 7.7.6 7.8 7.8.1 7.8.2 7.8.3 7.8.4 7.9 7.9.1 7.9.2 7.9.3 7.9.4 8.0 8.0.1 8.0.2 8.0.3 8.1 8.1.1 8.1.2 8.1.3 8.1.4 8.2 8.2.0.1 8.2.1 8.2.2 8.2.3 8.2.4 8.2.5 8.2.6 8.3 8.3.1 8.3.2 8.3.3 8.4 8.4.1 8.4.2 8.4.3 8.4.4 8.4.5 8.5 8.5.1 8.5.2 8.5.3 8.6 8.6.1 8.6.2 8.6.3 8.6.4 8.7 8.7.0.1 8.7.1 8.7.2 8.7.3 8.7.4 8.8 8.8.1 8.8.2 8.8.3 8.8.4 8.8.5 8.9 8.9.1 8.9.2 8.9.3 8.9.4 9.0 9.0.1 9.0.2 9.0.3 9.0.4 9.0.5 9.1 9.1.1 9.1.2 9.1.3 9.2 9.2.1 9.2.2 9.2.3 9.2.4 9.3 9.3.1 9.3.2 9.3.3 9.3.4 9.3.5 9.4 9.4.1 9.4.2 9.4.3 9.4.4 9.5 9.5.1 9.5.2 9.5.3 9.5.4 9.5.5 9.6 9.6.1 9.6.2 9.6.3 9.6.4 9.7 9.7.1 9.7.2 15.7-beta.2 9.7.3 15.7.1 9.8 15.8-a.1 9.8.1 15.8-a.3 9.8.2 2.0.9 9.8.3 2.1.7 9.9 2.2.10 9.9.1 2.3.10 9.9.2 2.4.7 9.9.3 2.5.5 2.6.6 2.7.5 2.8.5 2.9.6 3.0.6 3.1.5 3.2.5 3.3.6 3.4.6 3.5.6 3.6.4 3.7.5 3.8.5 3.9.10 4.0.7 4.1.4 4.2.5 4.3.5 4.4.5 4.5.3 4.6.3 4.7.4 4.8.5 4.9.3 5.0.3 5.1.4 trunk 10.0 10.0.1 10.0.2 10.1 10.1.1 10.1.2 10.2 10.2.1 10.2.2 10.2.3 10.3 10.3.1 10.3.2 10.4 10.4.1 10.4.2 10.5 10.5.1 10.5.2 10.5.3 10.6 10.6.1 10.6.2 10.7 10.7.1 10.7.2 10.8 10.8.1 10.8.2 10.9 10.9.1 10.9.2 10.9.3 11.0 11.0.1 11.0.2 11.1 11.1.1 11.1.2 11.1.3 11.1.4 11.2 11.2.1 11.2.2 11.3 11.3.1 11.3.2 11.3.3 11.3.4 11.4 11.4.1 11.4.2 11.5 11.5.1 11.5.2 11.5.3 11.6 11.6.1 11.6.2 11.7 11.7.1 11.7.2 11.7.3 11.8 11.8.3 11.8.4 11.8.5 11.8.6 11.9 11.9.1 11.9.2 11.9.3 12.0 12.0.1 12.0.2 12.1 12.1.1 12.1.2 12.2 12.2.1 12.2.2 12.3 12.3.1 12.4 12.4.1 12.5 12.5.1 12.6 12.6.1 12.6.2 12.6.3 12.7 12.7.1 12.7.2 12.8 12.8.1 12.8.2 12.9 12.9.1 12.9.2 12.9.3 12.9.4 13.0 13.0.1 13.1 13.1.1 13.1.2 13.1.3 13.1.4 13.2 13.2.1 13.2.2 13.2.3 13.3 13.3.1 13.3.2 13.4 13.4.1 13.4.2 13.4.3 13.4.4 13.5 13.5.1 13.6 13.6.1 13.7 13.7.1 13.8 13.8.1 13.8.2 13.9 13.9.1 14.0 14.1 14.2 14.2.1 14.3 14.4 14.4.1 14.5 14.6 14.7 14.8 14.9 14.9.1 15.0 15.0.1 15.0.2 15.1 15.1.1 15.2 15.3 15.3.1 15.4 15.5 15.6 15.7 15.7-a.1 15.7-a.3 15.7-a.5 15.7-a.7 15.7-beta
jetpack / modules / masterbar / admin-menu / admin-menu.js
jetpack / modules / masterbar / admin-menu Last commit date
admin-menu-nav-unification-rtl.css 2 years ago admin-menu-nav-unification-rtl.min.css 2 years ago admin-menu-nav-unification.css 2 years ago admin-menu-nav-unification.min.css 2 years ago admin-menu-rtl.css 2 years ago admin-menu-rtl.min.css 2 years ago admin-menu.css 2 years ago admin-menu.js 2 years ago admin-menu.min.css 2 years ago class-admin-menu.php 2 years ago class-atomic-admin-menu.php 2 years ago class-base-admin-menu.php 2 years ago class-dashboard-switcher-tracking.php 3 years ago class-domain-only-admin-menu.php 2 years ago class-jetpack-admin-menu.php 2 years ago class-p2-admin-menu.php 4 years ago class-wpcom-admin-menu.php 2 years ago class-wpcom-email-subscription-checker.php 3 years ago dashicon-set.php 4 years ago globe-icon.svg 3 years ago load.php 3 years ago menu-mappings.php 3 years ago
admin-menu.js
160 lines
1 /* global ajaxurl, jetpackAdminMenu */
2
3 ( function () {
4 function init() {
5 var adminbar = document.querySelector( '#wpadminbar' );
6 var wpwrap = document.querySelector( '#wpwrap' );
7 var adminMenu = document.querySelector( '#adminmenu' );
8 var dismissClass = 'dismissible-card__close-icon';
9
10 if ( ! adminbar ) {
11 return;
12 }
13
14 var adminbarBlogMenuList = adminbar.querySelector( '#wp-admin-bar-blog > .ab-sub-wrapper ul' );
15 if ( ! adminbarBlogMenuList ) {
16 return;
17 }
18
19 function setAriaExpanded( value ) {
20 var anchors = adminbar.querySelectorAll( '#wp-admin-bar-blog a' );
21 for ( var i = 0; i < anchors.length; i++ ) {
22 anchors[ i ].setAttribute( 'aria-expanded', value );
23 }
24 }
25
26 setFocusOnActiveMenuItem();
27 setAriaExpanded( 'false' );
28
29 var adminbarBlog = adminbar.querySelector( '#wp-admin-bar-blog' );
30 // Toggle sidebar when toggle is clicked.
31 if ( adminbarBlog ) {
32 adminbarBlog.addEventListener( 'click', function ( event ) {
33 event.preventDefault();
34
35 // Close any open toolbar submenus.
36 var hovers = adminbar.querySelectorAll( '.hover' );
37 for ( var i = 0; i < hovers.length; i++ ) {
38 hovers[ i ].classList.remove( 'hover' );
39 }
40
41 wpwrap.classList.toggle( 'wp-responsive-open' );
42 if ( wpwrap.classList.contains( 'wp-responsive-open' ) ) {
43 setAriaExpanded( 'true' );
44 var first = document.querySelector( '#adminmenu a' );
45 if ( first ) {
46 first.focus();
47 }
48 } else {
49 setAriaExpanded( 'false' );
50 }
51 } );
52 }
53
54 if ( adminMenu ) {
55 var collapseButton = adminMenu.querySelector( '#collapse-button' );
56 // Nav-Unification feature:
57 // Saves the sidebar state in server when "Collapse menu" is clicked.
58 // This is needed so that we update WPCOM for this preference in real-time.
59 if ( collapseButton ) {
60 collapseButton.addEventListener( 'click', function ( event ) {
61 // Let's the core event listener be triggered first.
62 setTimeout( function () {
63 saveSidebarIsExpanded( event.target.parentNode.getAttribute( 'aria-expanded' ) );
64 }, 50 );
65 } );
66 }
67
68 adminMenu.addEventListener( 'click', function ( event ) {
69 if (
70 event.target.classList.contains( dismissClass ) ||
71 event.target.closest( '.' + dismissClass )
72 ) {
73 event.preventDefault();
74
75 const siteNotice = document.getElementById( 'toplevel_page_site-notices' );
76 if ( siteNotice ) {
77 siteNotice.style.display = 'none';
78 }
79
80 const jitmDismissButton = event.target;
81
82 makeAjaxRequest(
83 'POST',
84 ajaxurl,
85 'application/x-www-form-urlencoded; charset=UTF-8',
86 'id=' +
87 encodeURIComponent( jitmDismissButton.dataset.feature_id ) +
88 '&feature_class=' +
89 encodeURIComponent( jitmDismissButton.dataset.feature_class ) +
90 '&action=jitm_dismiss' +
91 '&_ajax_nonce=' +
92 jetpackAdminMenu.jitmDismissNonce
93 );
94 }
95 } );
96
97 makeAjaxRequest(
98 'GET',
99 ajaxurl + '?action=upsell_nudge_jitm&_ajax_nonce=' + jetpackAdminMenu.upsellNudgeJitm,
100 undefined,
101 null,
102 function ( xhr ) {
103 try {
104 if ( xhr.readyState === XMLHttpRequest.DONE ) {
105 if ( xhr.status === 200 && xhr.responseText ) {
106 adminMenu
107 .querySelector( '#toplevel_page_site_card' )
108 .insertAdjacentHTML( 'afterend', xhr.responseText );
109 }
110 }
111 } catch ( error ) {
112 // On failure, we just won't display an upsell nudge
113 }
114 }
115 );
116 }
117 }
118
119 function makeAjaxRequest( method, url, contentType, body = null, callback = null ) {
120 var xhr = new XMLHttpRequest();
121 xhr.open( method, url, true );
122 xhr.setRequestHeader( 'X-Requested-With', 'XMLHttpRequest' );
123 if ( contentType ) {
124 xhr.setRequestHeader( 'Content-Type', contentType );
125 }
126 xhr.withCredentials = true;
127 if ( callback ) {
128 xhr.onreadystatechange = function () {
129 callback( xhr );
130 };
131 }
132 xhr.send( body );
133 }
134
135 function saveSidebarIsExpanded( expanded ) {
136 makeAjaxRequest(
137 'POST',
138 ajaxurl,
139 'application/x-www-form-urlencoded; charset=UTF-8',
140 'action=sidebar_state&expanded=' + expanded
141 );
142 }
143
144 function setFocusOnActiveMenuItem() {
145 var currentMenuItem = document.querySelector( '.wp-submenu .current > a' );
146
147 if ( ! currentMenuItem ) {
148 return;
149 }
150
151 currentMenuItem.focus( { preventScroll: true } );
152 }
153
154 if ( document.readyState === 'loading' ) {
155 document.addEventListener( 'DOMContentLoaded', init );
156 } else {
157 init();
158 }
159 } )();
160