mirror of
https://github.com/10h30/ultimatemember.git
synced 2026-06-05 15:09:37 +09:00
- added 'sorting' argument for multi selects field;
This commit is contained in:
@@ -67,17 +67,32 @@ textarea.um-forms-field.um-small-field {
|
||||
.um-multi-selects-option-line.um-admin-drag-fld {
|
||||
background: none;
|
||||
border: none;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
flex-wrap: nowrap;
|
||||
}
|
||||
|
||||
.um-multi-selects-option-line .um-field-icon {
|
||||
.um-multi-selects-option-line.um-admin-drag-fld .um-field-icon {
|
||||
float: left;
|
||||
width: 30px;
|
||||
text-align: center;
|
||||
width: 20px;
|
||||
text-align: left;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
.um-multi-text-option-line .um-field-wrapper,
|
||||
.um-multi-selects-option-line .um-field-wrapper {
|
||||
float:left;
|
||||
width: calc( 100% - 60px );
|
||||
line-height: 30px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.um-multi-selects-option-line.um-admin-drag-fld .um-field-wrapper {
|
||||
width: calc( 100% - 90px );
|
||||
}
|
||||
|
||||
.um-multi-text-option-line .um-field-wrapper {
|
||||
float:left;
|
||||
width: calc( 100% - 90px );
|
||||
line-height: 30px;
|
||||
|
||||
@@ -4,10 +4,10 @@ jQuery(document).ready( function() {
|
||||
/**
|
||||
* Multi-selects sort
|
||||
*/
|
||||
jQuery('.um-multi-selects-list').sortable({
|
||||
items: '.um-admin-drag-fld',
|
||||
connectWith: '.um-admin-drag-col,.um-admin-drag-group',
|
||||
forcePlaceholderSize:true
|
||||
jQuery('.um-multi-selects-list.um-sortable-multi-selects').sortable({
|
||||
items: '.um-admin-drag-fld',
|
||||
connectWith: '.um-admin-drag-col,.um-admin-drag-group',
|
||||
forcePlaceholderSize: true
|
||||
});
|
||||
|
||||
|
||||
@@ -28,6 +28,8 @@ jQuery(document).ready( function() {
|
||||
jQuery( '.um-multi-selects-add-option' ).click( function() {
|
||||
var list = jQuery(this).siblings('ul.um-multi-selects-list');
|
||||
|
||||
var sortable = list.hasClass( 'um-sortable-multi-selects' );
|
||||
|
||||
var field_id = list.data('field_id');
|
||||
var k = 0;
|
||||
if ( list.find( 'li:last select.um-forms-field' ).length > 0 ) {
|
||||
@@ -37,12 +39,17 @@ jQuery(document).ready( function() {
|
||||
|
||||
var selector_html = jQuery( '<div>' ).append( list.siblings('.um-hidden-multi-selects').clone() ).html();
|
||||
|
||||
list.append(
|
||||
'<li class="um-multi-selects-option-line um-admin-drag-fld">' +
|
||||
'<span class="um-field-icon"><i class="um-faicon-sort"></i></span>' +
|
||||
'<span class="um-field-wrapper">' + selector_html +
|
||||
'</span><span class="um-field-control"><a href="javascript:void(0);" class="um-select-delete">' + wp.i18n.__( 'Remove', 'ultimate-member' ) + '</a></span></li>'
|
||||
);
|
||||
var html = '<li class="um-multi-selects-option-line' + ( sortable ? ' um-admin-drag-fld' : '' ) + '">';
|
||||
if ( sortable ) {
|
||||
html += '<span class="um-field-icon"><i class="um-faicon-sort"></i></span>';
|
||||
}
|
||||
|
||||
html += '<span class="um-field-wrapper">' + selector_html + '</span>' +
|
||||
'<span class="um-field-control">' +
|
||||
'<a href="javascript:void(0);" class="um-select-delete">' + wp.i18n.__( 'Remove', 'ultimate-member' ) + '</a>' +
|
||||
'</span>' +
|
||||
'</li>';
|
||||
list.append( html );
|
||||
|
||||
list.find('li:last .um-hidden-multi-selects').attr('name', jQuery(this).data('name') ).
|
||||
addClass('um-forms-field um-long-field').removeClass('um-hidden-multi-selects').attr('id', list.data('id_attr') + '-' + k);
|
||||
|
||||
@@ -849,8 +849,11 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
|
||||
|
||||
$id = ( ! empty( $this->form_data['prefix_id'] ) ? $this->form_data['prefix_id'] : '' ) . '_' . $field_data['id'];
|
||||
|
||||
$sorting = ! empty( $field_data['sorting'] ) ? $field_data['sorting'] : false;
|
||||
|
||||
$class = ! empty( $field_data['class'] ) ? $field_data['class'] : '';
|
||||
$class .= ! empty( $field_data['size'] ) ? $field_data['size'] : 'um-long-field';
|
||||
$class .= ! empty( $sorting ) ? 'um-sorting-enabled' : '';
|
||||
$class_attr = ' class="um-forms-field ' . $class . '" ';
|
||||
|
||||
$data = array(
|
||||
@@ -876,9 +879,12 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
|
||||
}
|
||||
|
||||
$html = "<select class=\"um-hidden-multi-selects\" $data_attr>$options</select>";
|
||||
$html .= "<ul class=\"um-multi-selects-list\" $data_attr>";
|
||||
$html .= "<ul class=\"um-multi-selects-list" . ( ! empty( $sorting ) ? ' um-sortable-multi-selects' : '' ) . "\" $data_attr>";
|
||||
|
||||
if ( $sorting ) {
|
||||
ksort( $values );
|
||||
}
|
||||
|
||||
ksort($values);
|
||||
if ( ! empty( $values ) && is_array( $values ) ) {
|
||||
foreach ( $values as $k => $value ) {
|
||||
|
||||
@@ -893,9 +899,11 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
|
||||
$options .= '<option value="' . $key . '" ' . selected( $key == $value, true, false ) . '>' . $option . '</option>';
|
||||
}
|
||||
|
||||
$html .= "<li class=\"um-multi-selects-option-line um-admin-drag-fld\">
|
||||
<span class=\"um-field-icon\"><i class=\"um-faicon-sort\"></i></span>
|
||||
<span class=\"um-field-wrapper\">
|
||||
$html .= '<li class="um-multi-selects-option-line' . ( ! empty( $sorting ) ? ' um-admin-drag-fld' : '' ) . '">';
|
||||
if ( $sorting ) {
|
||||
$html .= '<span class="um-field-icon"><i class="um-faicon-sort"></i></span>';
|
||||
}
|
||||
$html .= "<span class=\"um-field-wrapper\">
|
||||
<select $id_attr $name_attr $class_attr $data_attr>$options</select></span>
|
||||
<span class=\"um-field-control\"><a href=\"javascript:void(0);\" class=\"um-select-delete\">" . __( 'Remove', 'ultimate-member' ) . "</a></span></li>";
|
||||
}
|
||||
@@ -909,7 +917,12 @@ if ( ! class_exists( 'um\admin\core\Admin_Forms' ) ) {
|
||||
$options .= '<option value="' . $key . '">' . $option . '</option>';
|
||||
}
|
||||
|
||||
$html .= "<li class=\"um-multi-selects-option-line\"><span class=\"um-field-wrapper\">
|
||||
$html .= '<li class="um-multi-selects-option-line' . ( ! empty( $sorting ) ? ' um-admin-drag-fld' : '' ) . '">';
|
||||
if ( $sorting ) {
|
||||
$html .= '<span class="um-field-icon"><i class="um-faicon-sort"></i></span>';
|
||||
}
|
||||
|
||||
$html .= "<span class=\"um-field-wrapper\">
|
||||
<select $id_attr $name_attr $class_attr $data_attr>$options</select></span>
|
||||
<span class=\"um-field-control\"><a href=\"javascript:void(0);\" class=\"um-select-delete\">" . __( 'Remove', 'ultimate-member' ) . "</a></span></li>";
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
'add_text' => __( 'Add New Custom Field', 'ultimate-member' ),
|
||||
'options' => $user_fields,
|
||||
'show_default_number' => 1,
|
||||
'sorting' => true,
|
||||
),
|
||||
array(
|
||||
'id' => '_um_show_userinfo',
|
||||
@@ -64,6 +65,7 @@
|
||||
'conditional' => array( '_um_show_userinfo', '=', 1 ),
|
||||
'options' => $user_fields,
|
||||
'show_default_number' => 1,
|
||||
'sorting' => true,
|
||||
),
|
||||
array(
|
||||
'id' => '_um_show_social',
|
||||
|
||||
@@ -92,6 +92,7 @@ global $post_id; ?>
|
||||
'options' => UM()->member_directory()->filter_fields,
|
||||
'add_text' => __( 'Add New Custom Field', 'ultimate-member' ),
|
||||
'show_default_number' => 1,
|
||||
'sorting' => true,
|
||||
),
|
||||
array(
|
||||
'id' => '_um_filters_expanded',
|
||||
|
||||
Reference in New Issue
Block a user