PluginProbe ʕ •ᴥ•ʔ
Jetpack – WP Security, Backup, Speed, & Growth / 16.0-beta
Jetpack – WP Security, Backup, Speed, & Growth v16.0-beta
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 2 days ago build 2 days ago content-guidelines-ai 2 days ago fonts 1 year ago genericons 4 months ago lib 2 days ago accessible-focus.js 5 years ago blogging-prompts.php 1 week ago class.jetpack-provision.php 7 months ago content-guidelines-ai.js 1 week ago content-guidelines-ai.php 1 week ago crowdsignal-shortcode.js 1 year ago crowdsignal-survey.js 5 years ago deprecate.js 7 months ago facebook-embed.js 4 years ago gallery-settings.js 5 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 7 months ago jetpack-modules.views.js 7 months ago polldaddy-shortcode.js 3 months ago site-switcher-endpoint.php 5 months ago site-switcher.js 5 months 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