Skip to content

Commit

Permalink
Fix issue with empty repeatable groups having the buttons set to disa…
Browse files Browse the repository at this point in the history
…bled.
  • Loading branch information
jtsternberg committed Aug 7, 2017
1 parent 1d580cc commit 7800034
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 9 deletions.
12 changes: 5 additions & 7 deletions includes/CMB2.php
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,6 @@ public function render_group( $args ) {
$desc = $field_group->args( 'description' );
$label = $field_group->args( 'name' );
$group_val = (array) $field_group->value();
$remove_disabled = count( $group_val ) <= 1 ? 'disabled="disabled" ' : '';
$field_group->index = 0;

$field_group->peform_param_callback( 'before_group' );
Expand All @@ -463,11 +462,11 @@ public function render_group( $args ) {

if ( ! empty( $group_val ) ) {
foreach ( $group_val as $group_key => $field_id ) {
$this->render_group_row( $field_group, $remove_disabled );
$this->render_group_row( $field_group );
$field_group->index++;
}
} else {
$this->render_group_row( $field_group, $remove_disabled );
$this->render_group_row( $field_group );
}

if ( $field_group->args( 'repeatable' ) ) {
Expand Down Expand Up @@ -528,11 +527,10 @@ public function group_wrap_attributes( $field_group ) {
*
* @since 1.0.2
* @param CMB2_Field $field_group CMB2_Field group field object.
* @param string $remove_disabled Attribute string to disable the remove button.
*
* @return CMB2
*/
public function render_group_row( $field_group, $remove_disabled ) {
public function render_group_row( $field_group ) {

$field_group->peform_param_callback( 'before_group_row' );
$closed_class = $field_group->options( 'closed' ) ? ' closed' : '';
Expand All @@ -541,7 +539,7 @@ public function render_group_row( $field_group, $remove_disabled ) {
<div class="postbox cmb-row cmb-repeatable-grouping', $closed_class, '" data-iterator="', $field_group->index, '">';

if ( $field_group->args( 'repeatable' ) ) {
echo '<button type="button" ', $remove_disabled, 'data-selector="', $field_group->id(), '_repeat" class="dashicons-before dashicons-no-alt cmb-remove-group-row" title="', esc_attr( $field_group->options( 'remove_button' ) ), '"></button>';
echo '<button type="button" data-selector="', $field_group->id(), '_repeat" class="dashicons-before dashicons-no-alt cmb-remove-group-row" title="', esc_attr( $field_group->options( 'remove_button' ) ), '"></button>';
}

echo '
Expand All @@ -568,7 +566,7 @@ public function render_group_row( $field_group, $remove_disabled ) {
echo '
<div class="cmb-row cmb-remove-field-row">
<div class="cmb-remove-row">
<button type="button" ', $remove_disabled, 'data-selector="', $field_group->id(), '_repeat" class="cmb-remove-group-row cmb-remove-group-row-button alignright button-secondary">', $field_group->options( 'remove_button' ), '</button>
<button type="button" data-selector="', $field_group->id(), '_repeat" class="cmb-remove-group-row cmb-remove-group-row-button alignright button-secondary">', $field_group->options( 'remove_button' ), '</button>
</div>
</div>
';
Expand Down
4 changes: 2 additions & 2 deletions tests/test-cmb-core.php
Original file line number Diff line number Diff line change
Expand Up @@ -483,7 +483,7 @@ public function test_group_field_param_callbacks() {
</div>
before_group_row output
<div class="postbox cmb-row cmb-repeatable-grouping closed" data-iterator="0">
<button type="button" disabled="disabled" data-selector="group_field_repeat" class="dashicons-before dashicons-no-alt cmb-remove-group-row" title="Remove Group"></button>
<button type="button" data-selector="group_field_repeat" class="dashicons-before dashicons-no-alt cmb-remove-group-row" title="Remove Group"></button>
<div class="cmbhandle" title="Click to toggle"><br></div>
<h3 class="cmb-group-title cmbhandle-title"><span></span></h3>
<div class="inside cmb-td cmb-nested cmb-field-list">
Expand Down Expand Up @@ -515,7 +515,7 @@ public function test_group_field_param_callbacks() {
</div>
<div class="cmb-row cmb-remove-field-row">
<div class="cmb-remove-row">
<button type="button" disabled="disabled" data-selector="group_field_repeat" class="cmb-remove-group-row cmb-remove-group-row-button alignright button-secondary">Remove Group</button>
<button type="button" data-selector="group_field_repeat" class="cmb-remove-group-row cmb-remove-group-row-button alignright button-secondary">Remove Group</button>
</div>
</div>
</div>
Expand Down

0 comments on commit 7800034

Please sign in to comment.