RCFilters: Don't remove mw-changeslist-line-prefix in enhanced mode
authorRoan Kattouw <roan.kattouw@gmail.com>
Tue, 19 Sep 2017 21:41:26 +0000 (14:41 -0700)
committerRoan Kattouw <roan.kattouw@gmail.com>
Tue, 19 Sep 2017 22:22:13 +0000 (15:22 -0700)
It contains the 'x' buttons to unwatch pages when the relevant
preference is enabled, so we shouldn't remove it.

To make the table still work, we have to add an extra <td>
to the nested rows, and start the highlight one row later.

Bug: T176264
Change-Id: Ie8eb913d55165ad2c548230cd61cd9ee189d9504

resources/src/mediawiki.rcfilters/styles/mw.rcfilters.mixins.less
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js

index b4e3b0e..6c8ebac 100644 (file)
@@ -51,7 +51,7 @@
        .mw-rcfilters-ui-changesListWrapperWidget li&,
                .mw-rcfilters-ui-changesListWrapperWidget & tr:first-child,
                .mw-rcfilters-ui-changesListWrapperWidget tr&.mw-rcfilters-ui-changesListWrapperWidget-enhanced-toplevel:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not( :nth-child( -n+2 ) ),
-               .mw-rcfilters-ui-changesListWrapperWidget tr&.mw-rcfilters-ui-changesListWrapperWidget-enhanced-nested:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not( :nth-child( -n+3 ) ) {
+               .mw-rcfilters-ui-changesListWrapperWidget tr&.mw-rcfilters-ui-changesListWrapperWidget-enhanced-nested:not(.mw-rcfilters-ui-changesListWrapperWidget-enhanced-grey) td:not( :nth-child( -n+4 ) ) {
                background-color: @bgcolor;
        }
 }
index f331f75..b0550b2 100644 (file)
                                );
 
                        // We are adding and changing cells in a table that, despite having nested rows,
-                       // is actually all one big table. To do that right, we want to remove the 'placeholder'
-                       // cell from the top row, because we're actually adding that placeholder in the children
-                       // with the highlights.
-                       $content.find( 'table.mw-enhanced-rc tr:first-child td.mw-changeslist-line-prefix' )
-                               .detach();
+                       // is actually all one big table. To prevent the highlights cell in the "nested"
+                       // rows from stretching out the cell with the flags and timestamp in the top row,
+                       // we give the latter colspan=2. Then to make things line up again, we add
+                       // an empty <td> to the "nested" rows.
+
+                       // Set colspan=2 on cell with flags and timestamp in top row
                        $content.find( 'table.mw-enhanced-rc tr:first-child td.mw-enhanced-rc' )
                                .prop( 'colspan', '2' );
-
+                       // Add empty <td> to nested rows to compensate
+                       $enhancedNestedPagesCell.parent().prepend( $( '<td>' ) );
+                       // Add highlights cell to nested rows
                        $enhancedNestedPagesCell
                                .before(
                                        $( '<td>' )
                        // We need to target the nested rows differently than the top rows so that the
                        // LESS rules applies correctly. In top rows, the rule should highlight all but
                        // the first 2 cells td:not( :nth-child( -n+2 ) and the nested rows, the rule
-                       // should highlight all but the first 3 cells td:not( :nth-child( -n+3 )
+                       // should highlight all but the first 4 cells td:not( :nth-child( -n+4 )
                        $enhancedNestedPagesCell
                                .closest( 'tr' )
                                .addClass( 'mw-rcfilters-ui-changesListWrapperWidget-enhanced-nested' );