Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#2252 closed defect (fixed)

Drop-down filters in tables display at incorrect location

Reported by: Nicklas Nordborg Owned by: everyone
Priority: critical Milestone: BASE 3.18.2
Component: web Version:
Keywords: Cc:


It seems like the implementation of sticky headers in #2246 broke the positioning of the drop-down selection list that is used for multi-select fields.

In most cases the position is correct, but if the column is near the right side of the browser window the drop-down is supposed to be right-aligned with the column. The introduction of sticky headers has changed the positioning contexts in a way that is incompatible with the currently implemented calculations and the drop-down is positioned too far to the right. If the table is very wide the drop-down is not visible at all and to the user i may seem like it is impossible to change the filter.

Change History (2)

comment:1 by Nicklas Nordborg, 3 years ago

Resolution: fixed
Status: newclosed

In 7955:

Fixes #2252: Drop-down filters in tables display at incorrect location

I think this should be fixed now. The problem was that the position: sticky; on <thead> caused it to get it's own display context and coordinates on child elements must be specified relative the <thead> instead of the <div class="data"> element. To make the fix work also for browsers that doesn't support sticky on the thead element, we add position: relative; to the <table> element. This should create a compatible display context in those browsers (since the table and thead are the same width).

comment:2 by Nicklas Nordborg, 3 years ago

In 7956:

References #2252: Drop-down filters in tables display at incorrect location

This was accidentally checked in to the trunk. Copying to 3.18-stable.

Note: See TracTickets for help on using tickets.