PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 16.1-beta.3
Jetpack – WP Security, Backup, Speed, & Growth v16.1-beta.3
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 / _inc / jetpack-modules.js
jetpack / _inc Last commit date
blocks 5 days ago build 5 days ago fonts 1 year ago genericons 5 months ago lib 5 days ago accessible-focus.js 6 years ago blogging-prompts.php 1 month ago class.jetpack-provision.php 8 months ago content-guidelines-ai.js 2 weeks ago content-guidelines-ai.php 1 week ago crowdsignal-shortcode.js 1 year ago crowdsignal-survey.js 6 years ago deprecate.js 8 months ago facebook-embed.js 4 years ago gallery-settings.js 6 years ago genericons.php 1 year ago jetpack-admin.js 3 years ago jetpack-deactivate-dialog.js 1 year ago jetpack-modules.js 5 days ago jetpack-modules.models.js 5 days ago jetpack-modules.views.js 5 days ago polldaddy-shortcode.js 3 weeks ago site-switcher-endpoint.php 6 months ago site-switcher.jsx 2 weeks ago site-switcher.php 6 months ago social-logos.php 4 months ago twitter-timeline.js 2 months ago
jetpack-modules.js
100 lines
1 ( function ( window, $, items, models, views, i18n, modalinfo, nonces ) {
2 'use strict';
3
4 var modules, list_table, handle_facet_click, $the_filters, $the_search, $bulk_button;
5
6 $the_filters = $( '.navbar-form' );
7 $the_search = $( '#srch-term-search-input' );
8 $bulk_button = $( '#doaction' );
9
10 modules = new models.Modules( {
11 items: items,
12 } );
13
14 // eslint-disable-next-line no-unused-vars -- Does this have side effects?
15 list_table = new views.List_Table( {
16 el: '#the-list',
17 model: modules,
18 } );
19
20 // Kick off an initial redraw.
21 modules.trigger( 'change' );
22
23 // Handle the filtering of modules. The tag list (".subsubsub") and the
24 // "Purpose" list (".purpose-filter") are independent single-select facets
25 // that share this behaviour and combine with one another.
26 handle_facet_click = function ( event ) {
27 event.preventDefault();
28
29 var $link = $( this );
30
31 // Ignore facets greyed out because they have no matches under the current filters.
32 if ( $link.closest( 'li' ).hasClass( 'is-empty' ) ) {
33 return;
34 }
35
36 // Move the "current" selection within this facet list only.
37 var $list = $link.closest( '.subsubsub, .purpose-filter' );
38 $list.find( 'li.current' ).removeClass( 'current' );
39 $link.closest( 'li' ).addClass( 'current' );
40
41 modules.trigger( 'change' );
42 };
43
44 $( '.subsubsub a, .purpose-filter a' ).on( 'click', handle_facet_click );
45
46 $the_filters.on( 'click', '.button-group .button', { modules: modules }, function ( event ) {
47 event.preventDefault();
48
49 // Each button group is an independent, single-select facet: activating a
50 // button clears only its siblings. State and Purpose are separate groups,
51 // so their selections combine rather than replacing one another.
52 $( this ).addClass( 'active' ).siblings( '.active' ).removeClass( 'active' );
53
54 modules.trigger( 'change' );
55 } );
56
57 $the_search.on(
58 'keyup search',
59 // Debounce so we re-render (and history.replaceState) once the user
60 // pauses typing rather than on every keystroke. This keeps the ~50-row
61 // rebuild off the critical path and avoids Safari's replaceState rate limit.
62 window._.debounce( function ( e ) {
63 // Don't trigger change on tab, since it's only used for accessibility
64 // anyway, and will remove all checked boxes
65 if ( e.code !== 'Tab' ) {
66 modules.trigger( 'change' );
67 }
68 }, 200 )
69 );
70
71 $the_search.prop( 'placeholder', i18n.search_placeholder );
72
73 $bulk_button.on( 'click', function ( event ) {
74 var selectedModules = $( '.jetpack-modules-list-table-form' ).serialize(),
75 selectedAction = $( this ).siblings( 'select' ).val(),
76 url;
77
78 if ( selectedModules.length && '-1' !== selectedAction ) {
79 url = 'admin.php?page=jetpack&action=' + encodeURIComponent( selectedAction );
80 url += '&' + selectedModules;
81 url += '&_wpnonce=' + encodeURIComponent( nonces.bulk );
82
83 window.location.href = url;
84 } else {
85 // Possibly add in an alert here explaining why nothing's happening?
86 }
87
88 event.preventDefault();
89 } );
90 } )(
91 window,
92 jQuery,
93 window.jetpackModulesData.modules,
94 window.jetpackModules.models,
95 window.jetpackModules.views,
96 window.jetpackModulesData.i18n,
97 window.jetpackModulesData.modalinfo,
98 window.jetpackModulesData.nonces
99 );
100