-
-
Notifications
You must be signed in to change notification settings - Fork 8.6k
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
Bring native support for side panel app bars, sticky side bar and changing app bar heading level #7051
Conversation
Please take a moment and address the merge conflicts of your pull request. Thanks! |
This looks great but plugins using it already need adapting
Example of what credentials plugin looks like atm: |
/label ready-for-merge This PR is now ready for merge, after ~24 hours, we will merge it if there's no negative feedback. Thanks! |
I don't understand why this reuses the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Per above
Please take a moment and address the merge conflicts of your pull request. Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like these new ideas! I would recommend, that those views of this PR that now use these new pattern should be completely adapted before we merge this PR. Otherwise it is totally unclear for plugin developers what to do and what to avoid. These core views should be the template for everybody else on how to move forward!
Some elements that are not adapted:
- The side panel action name should be the same as the app bar title ("Updates", "Available Plugins" vs. "Plugins" or "Log Levels" vs. "Logger Configuration"). Maybe this can be done in the framework so I do not need to repeat
- The app bar does only sometimes contain the buttons (Add new logger is correctly in the app bar, Save button of Logger Configuration is at the bottom)
Some bugs:
- Log Recorders -> All Jenkins Logs break the sidebar completely (there is no sidebar anymore)
- Global Tool Configuration and Configure System (and the other elements of the manage screen) have no sidebar anymore
Missing feature:
One thing that I am totally missing: the new sidebar elements should not scroll if I scroll down the page. These parts should use separate viewpoints. It does not make sense to scroll the new sidebar anymore, it is up to the developer to restrict this size.
@uhafner Could you clarify whether this only applies to sidepanels with app-bar, i.e., would there be some (most) sidepanels that scroll, and some that don't? |
If possible, all side panels should not scroll with the content. (I'm not sure if this works for the Dashboard view with the side panel widgets). I see no reason why the "links-only" navigation bars should scroll with the content. |
I don't see why not really, there isn't a use case yet on Jenkins but it wouldn't hurt to share the same component to make updating both easier in the future.
That's a very good idea 👍 Not too sure what the best way of doing that right now is, might require a new component I'm not too sure.
Not too sure on the best spot for 'Save'/'Apply' buttons right now. Thinking that they make more sense on the bottom as you interact with form elements before interacting with the 'Save' buttons.
Sidepanels have been removed from those pages as part of #6907 :) I've updated the 'All Jenkins Logs' pages to use a one column layout now so it should look better.
If I'm understanding correctly, you'd want the sidebar to scroll separately to the main page contents/stick to the top if too short? If so I agree, need to sort out which pages should have side panels first before making a change like that though. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
re-tested, looks good to me
Thanks for addressing and clarifying the outstanding feedback! This PR is now ready for merge. We will merge it after ~24 hours if there is no negative feedback. |
(Apologies for long title - I truly couldn't think of anything shorter).
This PR brings native support for some of the app bar changes introduced in #6485, rather than the 'one-off' implementations in that PR.
What's changed
h2
fromh1
)As a result of this the implementation of the app bar has changed, you now need to include it in either side panel or main panel (this may break a couple of plugins - I'll fix them).
This is the
core
change that jenkinsci/design-library-plugin#90 is waiting on, it essentially defines some clearer guidelines for when to use certain page layouts.Downstream pull requests that need merging after this is released:
Proposed changelog entries
Proposed upgrade guidelines
N/A
Submitter checklist
Proposed changelog entries
section only if there are breaking changes or other changes which may require extra steps from users during the upgrade@Restricted
or have@since TODO
Javadoc, as appropriate.@Deprecated(since = "TODO")
or@Deprecated(forRemoval = true, since = "TODO")
if applicable.eval
to ease future introduction of Content-Security-Policy directives (see documentation on jenkins.io).Desired reviewers
@jenkinsci/sig-ux
Maintainer checklist
Before the changes are marked as
ready-for-merge
:Proposed changelog entries
are accurate, human-readable, and in the imperative moodupgrade-guide-needed
label is set and there is aProposed upgrade guidelines
section in the PR title. (example)lts-candidate
to be considered (see query).