PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 16.1-a.5
Jetpack – WP Security, Backup, Speed, & Growth v16.1-a.5
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.models.js
jetpack / _inc Last commit date
blocks 1 day ago build 1 day ago fonts 1 year ago genericons 5 months ago lib 1 day ago accessible-focus.js 6 years ago blogging-prompts.php 1 month ago class.jetpack-provision.php 7 months ago content-guidelines-ai.js 1 week ago content-guidelines-ai.php 1 day 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 1 year ago jetpack-modules.models.js 8 months ago jetpack-modules.views.js 8 months ago polldaddy-shortcode.js 1 week ago site-switcher-endpoint.php 6 months ago site-switcher.jsx 1 week ago site-switcher.php 5 months ago social-logos.php 3 months ago twitter-timeline.js 1 month ago
jetpack-modules.models.js
77 lines
1 window.jetpackModules = window.jetpackModules || {};
2
3 window.jetpackModules.models = ( function ( window, $, Backbone ) {
4 'use strict';
5
6 var models = {};
7
8 models.Modules = Backbone.Model.extend( {
9 visibles: {},
10
11 /**
12 * Updates modules.items dataset to be a reflection of both the current
13 * modules.raw data, as well as any filters or sorting that may be in effect.
14 */
15 filter_and_sort: function () {
16 var subsubsub = $( '.subsubsub .current a' ),
17 items = Object.values( this.get( 'raw' ) ),
18 m_filter = $( '.button-group.filter-active .active' ),
19 m_sort = $( '.button-group.sort .active' ),
20 m_search = $( '#srch-term-search-input' ).val().toLowerCase();
21
22 // If a module filter has been selected, filter it!
23 if ( ! subsubsub.closest( 'li' ).hasClass( 'all' ) ) {
24 items = items.filter( item => item.module_tags.includes( subsubsub.data( 'title' ) ) );
25 }
26
27 if ( m_filter.data( 'filter-by' ) ) {
28 items = items.filter(
29 item => item[ m_filter.data( 'filter-by' ) ] === m_filter.data( 'filter-value' )
30 );
31 }
32
33 if ( m_search.length ) {
34 items = items.filter( function ( item ) {
35 var search_text =
36 item.name +
37 ' ' +
38 item.description +
39 ' ' +
40 item.long_description +
41 ' ' +
42 item.search_terms +
43 ' ' +
44 item.module_tags;
45 return -1 !== search_text.toLowerCase().indexOf( m_search );
46 } );
47 }
48
49 if ( m_sort.data( 'sort-by' ) ) {
50 const key = m_sort.data( 'sort-by' );
51 const cmpret = 'reverse' === m_sort.data( 'sort-order' ) ? -1 : 1;
52
53 items.sort( ( a, b ) =>
54 // eslint-disable-next-line no-nested-ternary
55 a[ key ] > b[ key ] ? cmpret : a[ key ] < b[ key ] ? -cmpret : 0
56 );
57 }
58
59 // Sort unavailable modules to the end if the user is running in local mode.
60 // JS sort is supposed to be stable since 2019, and is in browsers we care about, so this is safe.
61 items.sort( ( a, b ) => b.available - a.available );
62
63 // Now shove it back in.
64 this.set( 'items', items );
65
66 return this;
67 },
68
69 initialize: function () {
70 var items = this.get( 'items' );
71 this.set( 'raw', items );
72 },
73 } );
74
75 return models;
76 } )( window, jQuery, Backbone );
77