PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 12.9.5
Jetpack – WP Security, Backup, Speed, & Growth v12.9.5
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 2 years ago menu-mappings.php 3 years ago
admin-menu.js
158 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 function setAriaExpanded( value ) {
15 var anchors = adminbar.querySelectorAll( '#wp-admin-bar-blog a' );
16 for ( var i = 0; i < anchors.length; i++ ) {
17 anchors[ i ].setAttribute( 'aria-expanded', value );
18 }
19 }
20
21 var adminbarBlogMenuList = adminbar.querySelector( '#wp-admin-bar-blog > .ab-sub-wrapper ul' );
22 if ( adminbarBlogMenuList ) {
23 setFocusOnActiveMenuItem();
24 setAriaExpanded( 'false' );
25
26 var adminbarBlog = adminbar.querySelector( '#wp-admin-bar-blog' );
27 // Toggle sidebar when toggle is clicked.
28 if ( adminbarBlog ) {
29 adminbarBlog.addEventListener( 'click', function ( event ) {
30 event.preventDefault();
31
32 // Close any open toolbar submenus.
33 var hovers = adminbar.querySelectorAll( '.hover' );
34 for ( var i = 0; i < hovers.length; i++ ) {
35 hovers[ i ].classList.remove( 'hover' );
36 }
37
38 wpwrap.classList.toggle( 'wp-responsive-open' );
39 if ( wpwrap.classList.contains( 'wp-responsive-open' ) ) {
40 setAriaExpanded( 'true' );
41 var first = document.querySelector( '#adminmenu a' );
42 if ( first ) {
43 first.focus();
44 }
45 } else {
46 setAriaExpanded( 'false' );
47 }
48 } );
49 }
50 }
51
52 if ( adminMenu ) {
53 var collapseButton = adminMenu.querySelector( '#collapse-button' );
54 // Nav-Unification feature:
55 // Saves the sidebar state in server when "Collapse menu" is clicked.
56 // This is needed so that we update WPCOM for this preference in real-time.
57 if ( collapseButton ) {
58 collapseButton.addEventListener( 'click', function ( event ) {
59 // Let's the core event listener be triggered first.
60 setTimeout( function () {
61 saveSidebarIsExpanded( event.target.parentNode.getAttribute( 'aria-expanded' ) );
62 }, 50 );
63 } );
64 }
65
66 adminMenu.addEventListener( 'click', function ( event ) {
67 if (
68 event.target.classList.contains( dismissClass ) ||
69 event.target.closest( '.' + dismissClass )
70 ) {
71 event.preventDefault();
72
73 const siteNotice = document.getElementById( 'toplevel_page_site-notices' );
74 if ( siteNotice ) {
75 siteNotice.style.display = 'none';
76 }
77
78 const jitmDismissButton = event.target;
79
80 makeAjaxRequest(
81 'POST',
82 ajaxurl,
83 'application/x-www-form-urlencoded; charset=UTF-8',
84 'id=' +
85 encodeURIComponent( jitmDismissButton.dataset.feature_id ) +
86 '&feature_class=' +
87 encodeURIComponent( jitmDismissButton.dataset.feature_class ) +
88 '&action=jitm_dismiss' +
89 '&_ajax_nonce=' +
90 jetpackAdminMenu.jitmDismissNonce
91 );
92 }
93 } );
94
95 makeAjaxRequest(
96 'GET',
97 ajaxurl + '?action=upsell_nudge_jitm&_ajax_nonce=' + jetpackAdminMenu.upsellNudgeJitm,
98 undefined,
99 null,
100 function ( xhr ) {
101 try {
102 if ( xhr.readyState === XMLHttpRequest.DONE ) {
103 if ( xhr.status === 200 && xhr.responseText ) {
104 adminMenu
105 .querySelector( '#toplevel_page_site_card' )
106 .insertAdjacentHTML( 'afterend', xhr.responseText );
107 }
108 }
109 } catch ( error ) {
110 // On failure, we just won't display an upsell nudge
111 }
112 }
113 );
114 }
115 }
116
117 function makeAjaxRequest( method, url, contentType, body = null, callback = null ) {
118 var xhr = new XMLHttpRequest();
119 xhr.open( method, url, true );
120 xhr.setRequestHeader( 'X-Requested-With', 'XMLHttpRequest' );
121 if ( contentType ) {
122 xhr.setRequestHeader( 'Content-Type', contentType );
123 }
124 xhr.withCredentials = true;
125 if ( callback ) {
126 xhr.onreadystatechange = function () {
127 callback( xhr );
128 };
129 }
130 xhr.send( body );
131 }
132
133 function saveSidebarIsExpanded( expanded ) {
134 makeAjaxRequest(
135 'POST',
136 ajaxurl,
137 'application/x-www-form-urlencoded; charset=UTF-8',
138 'action=sidebar_state&expanded=' + expanded
139 );
140 }
141
142 function setFocusOnActiveMenuItem() {
143 var currentMenuItem = document.querySelector( '.wp-submenu .current > a' );
144
145 if ( ! currentMenuItem ) {
146 return;
147 }
148
149 currentMenuItem.focus( { preventScroll: true } );
150 }
151
152 if ( document.readyState === 'loading' ) {
153 document.addEventListener( 'DOMContentLoaded', init );
154 } else {
155 init();
156 }
157 } )();
158