Skip to content

Repeatable section with nested sections #256

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
sudheer-ranga opened this issue Jul 30, 2016 · 2 comments
Open

Repeatable section with nested sections #256

sudheer-ranga opened this issue Jul 30, 2016 · 2 comments
Labels

Comments

@sudheer-ranga
Copy link

sudheer-ranga commented Jul 30, 2016

Hi,

I followed this gist.

https://github.com/michaeluno/admin-page-framework/blob/3.7.0/example/admin_page/advanced_usage/nesting/APF_Demo_AdvancedUsage_Nesting_SectionA.php

I created a parent section and it has 3 sub sections.

$this->addSettingSections(
  'my_parent_slug',

  array(
    'section_id'  => 'section_id_parent',
    'tab_slug'    => 'my_tab_slug',
    'title'       => 'Repeat this section',
    'repeatable'    => true,
    'collapsible'       => array(
      'toggle_all_button' => array( 'top-left', 'bottom-left' ),
    ),
    'content'       => array(
      array(
        'section_id'    => 'section_id_1',
        'title'         => __( 'Section 1', 'admin-page-framework-loader' ),
      ),
      array(
        'section_id'    => 'section_id_2',
        'title'         => __( 'Section 2', 'admin-page-framework-loader' ),
      ),
      array(
        'section_id'    => 'section_id_3',
        'title'         => __( 'Section 3', 'admin-page-framework-loader' ),
      ),
    )
  ),
  array(
    'section_id'  => 'dont_repeat_this',
    'tab_slug'    => 'my_tab_slug',
  )
);

Here is the field section

$this->apf->addSettingFields(
  array('section_id_parent', 'section_id_1'),

  array(
    'field_id'      => 'section_id_1_field_1',
    'type'          => 'text',
    'title'         => 'Section 1 Field 1',
  ),
  array(
    'field_id'      => 'section_id_1_field_2',
    'type'          => 'text',
    'title'         => 'Section 1 Field 2',
  ),
  array(
    'field_id'      => 'section_id_1_field_3',
    'title'         => __( 'Section 1 Field 3', 'admin-page-framework-loader' ),
    'type'          => 'select',
    'default'       => 'none',
    'label'         => array(
      0 => __( 'Plain', 'admin-page-framework-loader' ),
      1 => __( 'Red', 'admin-page-framework-loader' ),
      2 => __( 'Green', 'admin-page-framework-loader' ),
      3 => __( 'Blue', 'admin-page-framework-loader' ),
      4 => __( 'Yellow', 'admin-page-framework-loader' ),
      5 => __( 'Orange', 'admin-page-framework-loader' ),
    ),
    'repeatable'    => true
  )
);

Similarly repeated for section 2 and 3

When I use repeatable in section_id_parent the repeat icon appears for each sub section along with the parent section.

How to make the parent section Repeat this section repeatable and not individual sections?

Attaching a screenshot.

screen shot 2016-07-31 at 12 01 45 am

@sudheer-ranga
Copy link
Author

Also, when I use inline_mixed type in the "Form Fields" section it doesn't show up.

array(
        'field_id'      => 'checkbox_number_select',
        'type'          => 'inline_mixed',
        'title'         => __( 'Checkbox, Number & Select', 'admin-page-framework-loader' ),
        'content'       => array(
            array(
                'field_id'        => 'enable',
                'type'            => 'checkbox',
                'label_min_width' => '',
                'label'           => __( 'Do something in', 'admin-page-framework-loader' ),
            ),
            array(
                'field_id'        => 'interval',
                'type'            => 'number',
                'label_min_width' => '',
                'default'         => 3,
                'attributes'      => array(
                    'style'     => 'width: 80px',
                ),
            ),
            array(
                'field_id'        => 'interval_unit',
                'type'            => 'select',
                'label_min_width' => '',
                'label'           => array(
                    'hour'    => __( 'hours', 'admin-page-framework-loader' ),
                    'day'     => __( 'days', 'admin-page-framework-loader' ),
                    'week'    => __( 'weeks', 'admin-page-framework-loader' ),
                ),
                'default'         => 'day',
            ),
            array(
                'field_id'      => '_text',
                'content'       => __( 'to do something else.', 'admin-page-framework-loader' ),
            ),
        ),
    ),

This just shows the title Checkbox, Number & Select but nothing below it. I want to make this inline mixed field repeatable. What am I doing wrong.

@michaeluno
Copy link
Owner

Nice finding. I wasn't aware of it.

When a section has a nested item, it cannot be repeatable. I do not mind calling this behavior a bug. However, this cannot be fixed right away as it involves lots of changes. Sorry.

You may resort to nested fields instead to repeat a set of fields which includes different field types.

As for the inline_mixed field type issue, can you create a new topic for it as it seems to be a different issue? Thanks.

@michaeluno michaeluno added the Bug label Jul 31, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants