Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
C
Core
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 979
    • Issues 979
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Development
  • Core
  • Issues
  • #487

Closed
Open
Opened Oct 28, 2018 by colemanw@colemanwOwner7 of 8 tasks completed7/8 tasks

Replace ancient menubar plugin with something responsive

The current menubar jQuery plugin dates back to prehistoric times. There have been some attempts to work around it with styling in Shoreditch and adding a hamburger menu for small screens with the slicknav extension but IMO we need something better for core.

Plan o' action:

  • Create an extension implementing SmartMenus (thanks @ayduns!) https://github.com/aydun/uk.squiffle.kam
  • Migrate the QuickSearch extension into core (see https://github.com/civicrm/civicrm-core/pull/13039).
  • Add CRM.menubar abstraction layer to provide a client-side api for adding/removing menu items, etc.
  • Fix click-to-open behavior (interaction is a bit confusing because the menubar opens on hover but closes on click)
  • Adjust icon spacing in the markup
  • Fix the CMS-specific placement issues (right margin for D7, admin region for Joomla)
  • Migrate the extension into Core.
  • Consider bundling the extension into ESR (may not be possible due to core patches required).
Edited May 16, 2019 by colemanw
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: dev/core#487