I was doing some QA on an internal module that uses export-ui and noticed that clicking the enable/disable links. I tried the same thing on a clean installation using stylizer and noticed the same behavior. I traced it into ctools_export_ui::list_page() which is called by enable_page()/disable_page() to rebuild the table. The critical section seems to be:

    $this->rows = array();
    $this->sorts = array();

    $form_state = array(
      'plugin' => $this->plugin,
      'input' => $input,
      'rerender' => TRUE,
      'no_redirect' => TRUE,
      'object' => &$this,

    $help_area = $this->help_area($form_state);

    $form = ctools_build_form('ctools_export_ui_list_form', $form_state);

    $output = $this->list_header($form_state) . $this->list_render($form_state) . $this->list_footer($form_state);

$this->rows gets cleared and ctools_export_ui_list_form should be submitted, calling list_form_submit() which would rebuild it before list_render() is called. In the non-JS flow it works correctly, I'm trying to figure out what differs.

Members fund testing for the Drupal project. Drupal Association Learn more


drewish’s picture

877 bytes

With Earl's help I tracked it down to some extra items in the $input array, 'js' => 1 and 'ctools_ajax' => 1. I'm still not quite sure how that throws the spanner in the works but this seems to fix it.

drewish’s picture

Status: Active » Needs review
907 bytes

Slight rewording of the comment.

wonder95’s picture

Status: Needs review » Reviewed & tested by the community

I ran into this exact same issue, and the patch fixed it perfectly.

merlinofchaos’s picture

Status: Reviewed & tested by the community » Fixed

Committed and pushed.

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.