diff --git a/core/modules/block/js/block.js b/core/modules/block/js/block.js index b9fced18944963ffe39541dd1ab117014eebb5db..f276527365591e9dd1b316ef9d5303a37ab63857 100644 --- a/core/modules/block/js/block.js +++ b/core/modules/block/js/block.js @@ -197,14 +197,21 @@ // Make our new row and select field. var row = $(this).closest('tr'); var select = $(this); - // Find the correct region and insert the row as the last in the // region. - table.find('.region-' + select[0].value + '-message').nextUntil('.region-message').eq(-1).before(row); - + tableDrag.rowObject = new tableDrag.row(row[0]); + var region_message = table.find('.region-' + select[0].value + '-message'); + var region_items = region_message.nextUntil('.region-message, .region-title'); + if (region_items.length) { + region_items.last().after(row); + } + // We found that region_message is the last row. + else { + region_message.after(row); + } updateBlockWeights(table, select[0].value); // Modify empty regions with added or removed fields. - checkEmptyRegions(table, row); + checkEmptyRegions(table, tableDrag.rowObject); // Update last placed block indication. updateLastPlaced(table, row); // Show unsaved changes warning.