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:

<?php
    $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);
   
ctools_include('form');
   
$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.

Files: 

Comments

StatusFileSize
new877 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.

Status:Active» Needs review
StatusFileSize
new907 bytes

Slight rewording of the comment.

Status:Needs review» Reviewed & tested by the community

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

Status:Reviewed & tested by the community» Fixed

Committed and pushed.

Status:Fixed» Closed (fixed)

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