Conversation
| table.objectives tr.objective td.name::before {content: "▶"; font-size: 0.7em; display: inline-block; transform: rotate(90deg); margin-right: 0.4em;} | ||
| table.objectives tbody.collapsed tr.objective td.name::before {content: "▶"; transform: rotate(0deg);} |
There was a problem hiding this comment.
At first I tried using the unicode characters ▼ and ▶, but the browser renders them with different sizes. Even when I explicitly used the same variation selector for both.
Only quick way I found to keep them identical is to use the same symbol and rotate it, but I am very open to a better alternative.
There was a problem hiding this comment.
I suppose an alternative would be to use SVG? Your approach is neat, I like it. I suppose we could even have the icon rotate during the transform (but that's very not essential!)
|
I tried this and it works great, thank you!
I agree that it's very unlikely for two users to log in using the same browser, outside of testing scenarios. So I don't have any problem with this. Since you requested the feature, I'm curious: How long would you want the expanded/collapsed setting to persist for? Is the idea that you want to be able to open and close objectives as you're doing a review, but don't mind if that doesn't persist for ever? Or is it more like you want to always (for you) close objectives that are eg not applicable? If it's the former, we could consider session storage instead of local storage (I think) for a less persistent setting. Let's find someone else to try out the design and get their impressions. I'll ping you internally. |
|
@dwilding I personally would like this to persist beyond sessions. So every time I log in and look at my product objectives, whatever I collapsed last time remains collapsed. That being said, I think storing this state in the database (for total persistence) is overkill and could hinder performance; so local browser storage seemed like a decent compromise for a setting that is purely a personal visualization preference. Now that I think about similar patterns in other applications, it might be worth adding a button that collapses all and expands all. Definitely agree that we need more opinions about the design before moving forward - I'll update the conversation here as it progresses. |
Overview
This PR makes objective headings in each project optionally collapsible for the user. This should help reduce the visual clutter while browsing through objectives. (Addresses issue #134)
Changes:
project.htmlto catch when someone clicks on an objective heading, and toggle thecollapsedattributetest-browser.pyHow this has been tested
I tested this branch locally with the dev version of the application.
In the Google Chrome browser, I entered the Developer console and tested the following behavior while monitoring Application > Local storage:
superuser. "Agreeableness" and "Colourfulness" are collapsed in project 1 and "Sound" is collapsed in project 2.This last behavior (4) is not ideal. If a different user logs into the dashboard in the same browser, I believe the dashboard will apply the previous users's collapsed preferences on the new user's view of the same projects. That being said, it's an unlikely scenario that two users would use the same browser instance and projects.
Manual checks
rockcraft.yaml? Remember to use the same version number inREADME.md.