djangocms-frontend
djangocms-frontend copied to clipboard
chore: Use split button for menu dropdown
- Update gulpfile.js to use v4 style
- Use split button for menu dropdown
Summary by Sourcery
Apply a split-button pattern to Bootstrap 5 menu items with children and update the gulp watch task to use the gulp v4 series syntax
Enhancements:
- Replace monolithic dropdown toggle with a split-button group for menu items that have children
Build:
- Update gulp watch task to use gulp.series for gulp v4 compatibility
Reviewer's guide (collapsed on small PRs)
Reviewer's Guide
The PR refactors the Bootstrap menu template to use a split button approach for dropdowns and modernizes the Gulp watch task to Gulp v4 syntax.
Class diagram for menu dropdown template changes
classDiagram
class Child {
+ancestor: bool
+children: list
+selected: bool
+get_absolute_url()
+get_menu_title()
}
class MenuItem {
+nav-link: string
+active: bool
+dropdown-toggle: bool
+btn-group: bool
}
Child --> MenuItem
Flow diagram for Gulp v4 watch task update
flowchart TD
A[Start Gulp] --> B[Run 'watch' task]
B --> C[Watch SASS files]
C --> D[On change, run 'sass' task using gulp.series]
D --> E[Compile SASS]
File-Level Changes
| Change | Details | Files |
|---|---|---|
| Introduce split button structure for menu dropdowns |
|
djangocms_frontend/templates/bootstrap5/menu.html |
| Migrate Gulp watch task to v4 style |
|
gulpfile.js |
Tips and commands
Interacting with Sourcery
- Trigger a new review: Comment
@sourcery-ai reviewon the pull request. - Continue discussions: Reply directly to Sourcery's review comments.
- Generate a GitHub issue from a review comment: Ask Sourcery to create an
issue from a review comment by replying to it. You can also reply to a
review comment with
@sourcery-ai issueto create an issue from it. - Generate a pull request title: Write
@sourcery-aianywhere in the pull request title to generate a title at any time. You can also comment@sourcery-ai titleon the pull request to (re-)generate the title at any time. - Generate a pull request summary: Write
@sourcery-ai summaryanywhere in the pull request body to generate a PR summary at any time exactly where you want it. You can also comment@sourcery-ai summaryon the pull request to (re-)generate the summary at any time. - Generate reviewer's guide: Comment
@sourcery-ai guideon the pull request to (re-)generate the reviewer's guide at any time. - Resolve all Sourcery comments: Comment
@sourcery-ai resolveon the pull request to resolve all Sourcery comments. Useful if you've already addressed all the comments and don't want to see them anymore. - Dismiss all Sourcery reviews: Comment
@sourcery-ai dismisson the pull request to dismiss all existing Sourcery reviews. Especially useful if you want to start fresh with a new review - don't forget to comment@sourcery-ai reviewto trigger a new review!
Customizing Your Experience
Access your dashboard to:
- Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others.
- Change the review language.
- Add, remove or edit custom review instructions.
- Adjust other review settings.
Getting Help
- Contact our support team for questions or feedback.
- Visit our documentation for detailed guides and information.
- Keep in touch with the Sourcery team by following us on X/Twitter, LinkedIn or GitHub.
Codecov Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 89.13%. Comparing base (9844b4c) to head (f3bdadc).
Additional details and impacted files
@@ Coverage Diff @@
## main #307 +/- ##
=======================================
Coverage 89.13% 89.13%
=======================================
Files 124 124
Lines 3387 3387
Branches 288 288
=======================================
Hits 3019 3019
Misses 252 252
Partials 116 116
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
- :package: JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.