diff --git a/addon/services/universe/menu-service.js b/addon/services/universe/menu-service.js index 6d70f6c..a821358 100644 --- a/addon/services/universe/menu-service.js +++ b/addon/services/universe/menu-service.js @@ -446,7 +446,16 @@ export default class MenuService extends Service.extend(Evented) { */ getHeaderMenuItems() { const items = this.registry.getRegistry('header', 'menu-item'); - return A(items).sortBy('priority'); + // Sort extensions by priority first, then append shortcuts at the end. + // Shortcuts must never interleave with extensions in the sorted list + // because the default bar is built by slicing the first N items — if + // shortcuts sort between extensions (e.g. priority 1.1 between 1 and 2) + // they would displace real extensions from the default pinned bar. + const extensions = A(items) + .filter((i) => !i._isShortcut) + .sortBy('priority'); + const shortcuts = A(items).filter((i) => i._isShortcut); + return A([...extensions, ...shortcuts]); } /** diff --git a/package.json b/package.json index e57e8d1..c62b2e6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@fleetbase/ember-core", - "version": "0.3.16", + "version": "0.3.17", "description": "Provides all the core services, decorators and utilities for building a Fleetbase extension for the Console.", "keywords": [ "fleetbase-core",