mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-07-19 06:33:50 +09:00
- fixed JS handlers for the new dropdown.js library;
This commit is contained in:
+11
-9
@@ -748,19 +748,21 @@ jQuery(document.body).ready( function() {
|
||||
* Sorting
|
||||
*/
|
||||
|
||||
jQuery( document.body ).on( 'click', '.um-directory .um-member-directory-sorting-a .um-new-dropdown li a', function() {
|
||||
var directory = jQuery(this).parents('.um-directory');
|
||||
jQuery( document.body ).on( 'click', '.um-new-dropdown[data-element=".um-member-directory-sorting-a"] li a', function() {
|
||||
if ( jQuery( this ).data('selected') === 1 ) {
|
||||
return;
|
||||
}
|
||||
|
||||
var directory_hash = jQuery(this).data('directory-hash');
|
||||
var directory = jQuery('.um-directory[data-hash="' + directory_hash + '"]');
|
||||
|
||||
if ( um_is_directory_busy( directory ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ( jQuery( this ).data('selected') === 1 ) {
|
||||
return;
|
||||
}
|
||||
|
||||
um_members_show_preloader( directory );
|
||||
|
||||
var sorting_label = jQuery( this ).html();
|
||||
var sort = jQuery(this).data('value');
|
||||
|
||||
directory.data( 'sorting', sort );
|
||||
@@ -768,9 +770,9 @@ jQuery(document.body).ready( function() {
|
||||
|
||||
um_ajax_get_members( directory );
|
||||
|
||||
jQuery( this ).parents('.um-new-dropdown').find('a').data('selected', 0).prop('data-selected', 0).attr('data-selected', 0);
|
||||
jQuery( this ).data('selected', 1).prop('data-selected', 1).attr('data-selected', 1);
|
||||
jQuery( this ).parents('.um-member-directory-sorting-a').find('> a').html( jQuery( this ).html() );
|
||||
directory.find('.um-new-dropdown[data-element=".um-member-directory-sorting-a"]').find('a').data('selected', 0).prop('data-selected', 0).attr('data-selected', 0);
|
||||
directory.find('.um-new-dropdown[data-element=".um-member-directory-sorting-a"] a[data-value="' + sort + '"]').data('selected', 1).prop('data-selected', 1).attr('data-selected', 1);
|
||||
directory.find('.um-member-directory-sorting-a').find('> a').html( sorting_label );
|
||||
});
|
||||
|
||||
/**
|
||||
|
||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
@@ -2565,6 +2565,7 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
|
||||
* @param array $items
|
||||
*/
|
||||
function dropdown_menu( $element, $trigger, $items = array() ) {
|
||||
// !!!!Important: all links in the dropdown items must have "class" attribute
|
||||
?>
|
||||
|
||||
<div class="um-new-dropdown" data-element="<?php echo $element; ?>" data-trigger="<?php echo $trigger; ?>">
|
||||
@@ -2585,14 +2586,15 @@ if ( ! class_exists( 'um\core\Member_Directory' ) ) {
|
||||
* @param string $element
|
||||
* @param string $trigger
|
||||
* @param string $item
|
||||
* @param string $additional_attributes
|
||||
*/
|
||||
function dropdown_menu_js( $element, $trigger, $item ) {
|
||||
function dropdown_menu_js( $element, $trigger, $item, $additional_attributes = '' ) {
|
||||
?>
|
||||
|
||||
<div class="um-new-dropdown" data-element="<?php echo $element; ?>" data-trigger="<?php echo $trigger; ?>">
|
||||
<ul>
|
||||
<# _.each( <?php echo $item; ?>.dropdown_actions, function( action, key, list ) { #>
|
||||
<li><a href="<# if ( typeof action.url != 'undefined' ) { #>{{{action.url}}}<# } else { #>javascript:void(0);<# }#>" class="{{{key}}}">{{{action.title}}}</a></li>
|
||||
<li><a href="<# if ( typeof action.url != 'undefined' ) { #>{{{action.url}}}<# } else { #>javascript:void(0);<# }#>" class="{{{key}}}"<?php echo $additional_attributes ? " $additional_attributes" : '' ?>>{{{action.title}}}</a></li>
|
||||
<# }); #>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -276,7 +276,7 @@ if ( ( ( $search && $show_search ) || ( $filters && $show_filters && count( $sea
|
||||
<?php $items = array();
|
||||
|
||||
foreach ( $sorting_options as $value => $title ) {
|
||||
$items[] = '<a href="javascript:void(0);" data-value="' . esc_attr( $value ) . '" data-selected="' . ( ( $sort_from_url == $value ) ? '1' : '0' ) . '" data-default="' . ( ( $default_sorting == $value ) ? '1' : '0' ) . '">' . $title . '</a>'; ?>
|
||||
$items[] = '<a href="javascript:void(0);" data-directory-hash="' . esc_attr( substr( md5( $form_id ), 10, 5 ) ) . '" class="um-sortyng-by-' . esc_attr( $value ) . '" data-value="' . esc_attr( $value ) . '" data-selected="' . ( ( $sort_from_url == $value ) ? '1' : '0' ) . '" data-default="' . ( ( $default_sorting == $value ) ? '1' : '0' ) . '">' . $title . '</a>'; ?>
|
||||
<?php }
|
||||
|
||||
UM()->member_directory()->dropdown_menu( '.um-member-directory-sorting-a', 'click', $items ); ?>
|
||||
|
||||
+1
-1
@@ -3,7 +3,7 @@
|
||||
Plugin Name: Ultimate Member
|
||||
Plugin URI: http://ultimatemember.com/
|
||||
Description: The easiest way to create powerful online communities and beautiful user profiles with WordPress
|
||||
Version: 2.1.21-alpha
|
||||
Version: 2.1.21-alpha1
|
||||
Author: Ultimate Member
|
||||
Author URI: http://ultimatemember.com/
|
||||
Text Domain: ultimate-member
|
||||
|
||||
Reference in New Issue
Block a user