Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use 100% of horizontal screen real estate for table pages #5154

Closed
bluikko opened this issue Sep 20, 2020 · 6 comments
Closed

Use 100% of horizontal screen real estate for table pages #5154

bluikko opened this issue Sep 20, 2020 · 6 comments
Assignees
Labels
status: accepted This issue has been accepted for implementation type: feature Introduction of new functionality to the application

Comments

@bluikko
Copy link
Contributor

bluikko commented Sep 20, 2020

Environment

  • Python version: 3.6.8
  • NetBox version: 2.9.3

Proposed Functionality

Use 100% of horizontal screen real estate for pages (at minimum pages with tables).

Currently pages with tables, for example "Virtual Machines" page, have quite large margins or whitespace at the left and right side of the pages.

I understand that this is a current trend in design but what does it contribute to usability of NetBox? If the page would utilize 100% of horizontal width then the tables could avoid wrapping text in cells to a second or third line, or additional columns could be fit. I counted roughly 15-20% of horizontal screen real estate is "wasted" to the margin at the sides of the page.

Screenshot of the margins highlighted in red:
image

Edit:

  • This proposal is to, at minimum, allow the vertical part of the page that has the data table to use 100% of the width. If the other parts (like the page header shown in above screenshot) does not use 100% that is not an issue.
  • Further, if the "Search" widget at the right side of the table could be "collapsed" when not needed to allow further 20-25% of horizontal screen real estate for the table would be nice but that might be more complex change.

Use Case

For tables with long text in cells or tables where additional columns have been added now do not fit horizontally on the screen due to the 15-20% margins.

Database Changes

Should be none? Should be just a CSS change?

External Dependencies

None?

@jeremystretch
Copy link
Member

I understand that this is a current trend in design but what does it contribute to usability of NetBox?

Tables with fewer columns are much more difficult to read when they are too wide.

@bluikko
Copy link
Contributor Author

bluikko commented Sep 24, 2020

Tables with fewer columns are much more difficult to read when they are too wide.

I see, yes this is a valid concern. Especially in the absence of alternating row background colors and in the absence of highlighting the row that cursor is hovering on.

The issue depends on several things:

  • Screen width / resolution
  • Font size
  • Number of columns
  • Length of data in the cells

For my FHD screen (1920x1080), at the default zoom of the web browser, several main tables wrap the text to two or even three lines even with default column setup. Arguable those are more difficult to read than cells that are not wrapped, and also take a lot of vertical space due to wrapping.

Would it be feasible to let wide tables overflow into the left/right margins?

Some other data-driven web apps have "widescreen mode" that reduces the margins but I'm not sure that's a good solution.

Edit: on 2.9.3 and with the data I have, all of the cramped tables have the Search widget at the right side. Large portion of "loose" tables do not have it. It might be enough if the search widget could be collapsed and then the left/right margins could stay consistent. Having said that, we might just narrow down the margins in the CSS locally, it should be simple enough to do.

@bluikko
Copy link
Contributor Author

bluikko commented Sep 24, 2020

The issue is pronounced on a 4k screen:
image

@jeremystretch
Copy link
Member

Conversely, here's how a table with few columns renders at full width on a 2560x1440 monitor:

screenshot

It's not ideal, but not terrible. It would be much worse on a 4K display with no scaling (but so would a lot of things).

The other issue is maintaining a sensible width ratio between the object list and right-hand panel (where present). Currently, the panel consumes 25% of the container width (three of 12 vertical columns). Bootstrap's highest built-in breakpoint is as 1200px, which isn't quite high enough to step it down to two columns. So, we'd need to define a custom breakpoint above which the proportion is adjusted.

@bluikko would you like to volunteer for this work?

@jeremystretch jeremystretch added status: needs owner This issue is tentatively accepted pending a volunteer committed to its implementation type: feature Introduction of new functionality to the application labels Oct 15, 2020
@bluikko
Copy link
Contributor Author

bluikko commented Oct 16, 2020

@jeremystretch I have no experience in modern web technologies but I will read about bootstrap and try to understand what you are saying about breakpoints.

I take it that allowing the right-hand panel to be "collapsed" is not feasible,

@jeremystretch jeremystretch self-assigned this Nov 10, 2020
@jeremystretch jeremystretch added status: accepted This issue has been accepted for implementation and removed status: needs owner This issue is tentatively accepted pending a volunteer committed to its implementation labels Nov 10, 2020
@jeremystretch
Copy link
Member

Made this change for the upcoming v2.10 release.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 9, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
status: accepted This issue has been accepted for implementation type: feature Introduction of new functionality to the application
Projects
None yet
Development

No branches or pull requests

2 participants