Use visible resize handles and min/max column sizes in new UI
- On entity tables (Accounts/User, etc) 'resize handles' in the header should be visible and therefore easier to use.
- This PR also set some column sizes on specific tables, which I can't think of a test for.
Resizing table columns has a many usability issues.
- Column resizing does text selection while the mouse button is down.
- Resizing one column also may adjust the size of other columns in unusual and unhelpful ways.
- The handle to click and drag is kind of difficult to click because you actually have to click slightly left of the line.
- The handle doesn't follow the cursor when dragging to the right; it lags behind so you have to make multiple attempts to get it to the size you want.
- Column sizes should be saved in the browser. Especially since column sizing is so difficult, I don't want to have to do it again next time I go to that page.
- The default size of the "Description" column on the plugins page is too small; it only allows you to read a small portion of the complete description. Alternatively, perhaps the text content in this column should wrap?
#1 Updated by Ned Devine about 3 years ago
I just noticed: The table component on the "Storage / Pools" page (/ui/storage/pools) looks like a different implementation than the one this bug is about. The table on that page is much nicer to use and doesn't seem to suffer from any of the usability problems mentioned in the description.
#4 Updated by Dennis Mullen about 3 years ago
- Status changed from Unscreened to Screened
These are definite problems. Unfortunately, they (along with some other issues) come with ngx datatable, the package we are relying on for most of our tables. Similar problems can be seen here. https://swimlane.github.io/ngx-datatable/
Solving these would be worthwhile, and would probably require a hack session on ngx datatable when we have some breathing space to do it. In order for our work to stick, though, we'd have to make our own fork or persuade swimlane to incorporate our changes.