Steps to reproduce

  1. On a fresh install, login and go to admin/structure/block
  2. Ensure that the row weights are hidden (click 'Hide row weights' at the top right of the table if necessary)
  3. Rearrange the blocks in the 'sidebar first' region

This should update the weight fields (which you can see by clicking the 'Show row weights' link at the top right) and display a warning at the top of the page that your changes have not yet been saved. Because these fields have not been updated, if you save the page the new order will not be remembered. This doesn't only apply to the block page, it was just a convenient example of a tabledrag.

This is a regression caused by #1979468: ".active" from linkGenerator(), l() and theme_links() forces an upper limit of per-page caching for all content containing links. It was first spotted by jhodgdon.

Comments

dawehner’s picture

Priority: Major » Critical

This is really critical.

nod_’s picture

Status: Active » Needs review
Issue tags: +JavaScript
StatusFileSize
new1.47 KB

Drupal.attachBehaviors and Drupal.detachBehaviors expect a single DOM object as the context argument. tabledrag was passing an array of jQuery objects.

nod_’s picture

StatusFileSize
new2.78 KB

Oh and before anyone notice, ajax.js does it wrong too.

nod_’s picture

Issue tags: +ie8

and since we're using .forEach() tagging for ie8 module.

nod_’s picture

Forget #3, the patch to test and commit is #2.

someone did notice ajax.js before me :D \o/ #2168171: ajax.js passes context as jQuery object to attachBehaviors and detachBehaviors, should pass plain object

Status: Needs review » Needs work

The last submitted patch, 3: core-js-fix-tabledrag-2168233-3.patch, failed testing.

nod_’s picture

Status: Needs work » Closed (duplicate)

parent has been rolled back, put this in new patch.