File Editor
Directories:
.. (Back)
blocks
build
fonts
genericons
lib
social-logos
Files:
accessible-focus.js
class.jetpack-provision.php
connect-button.js
crowdsignal-shortcode.js
crowdsignal-survey.js
facebook-embed.js
footer.php
gallery-settings.js
genericons.php
header.php
idc-notice.js
jetpack-admin.js
jetpack-connection-banner.js
jetpack-deactivate-dialog.js
jetpack-jitm.js
jetpack-modules.js
jetpack-modules.models.js
jetpack-modules.views.js
jetpack-server-sandbox.php
jetpack-strings.php
jetpack-wizard-banner.js
jquery.jetpack-resize.js
jquery.spin.js
polldaddy-shortcode.js
postmessage.js
social-logos.php
spin.js
twitter-timeline.js
Create New File
Create
Edit File: jetpack-modules.models.js
this.jetpackModules = this.jetpackModules || {}; window.jetpackModules.models = ( function( window, $, _, Backbone ) { 'use strict'; var models = {}; models.Modules = Backbone.Model.extend( { visibles: {}, /** * Updates modules.items dataset to be a reflection of both the current * modules.raw data, as well as any filters or sorting that may be in effect. */ filter_and_sort: function() { var subsubsub = $( '.subsubsub .current' ), items = this.get( 'raw' ), m_filter = $( '.button-group.filter-active .active' ), m_sort = $( '.button-group.sort .active' ), m_search = $( '#srch-term-search-input' ) .val() .toLowerCase(), groups; // If a module filter has been selected, filter it! if ( ! subsubsub.closest( 'li' ).hasClass( 'all' ) ) { items = _.filter( items, function( item ) { return _.contains( item.module_tags, subsubsub.data( 'title' ) ); } ); } if ( m_filter.data( 'filter-by' ) ) { items = _.filter( items, function( item ) { return item[ m_filter.data( 'filter-by' ) ] === m_filter.data( 'filter-value' ); } ); } if ( m_search.length ) { items = _.filter( items, function( item ) { var search_text = item.name + ' ' + item.description + ' ' + item.long_description + ' ' + item.search_terms + ' ' + item.module_tags; return -1 !== search_text.toLowerCase().indexOf( m_search ); } ); } if ( m_sort.data( 'sort-by' ) ) { items = _.sortBy( items, m_sort.data( 'sort-by' ) ); if ( 'reverse' === m_sort.data( 'sort-order' ) ) { items.reverse(); } } // Sort unavailable modules to the end if the user is running in local mode. groups = _.groupBy( items, 'available' ); if ( _.has( groups, 'false' ) ) { items = [].concat( groups[ true ], groups[ false ] ); } // Now shove it back in. this.set( 'items', items ); return this; }, initialize: function() { var items = this.get( 'items' ); this.set( 'raw', items ); }, } ); return models; } )( this, jQuery, _, Backbone );
Save Changes
Rename File
Rename