Skip to content

Commit 74a09fb

Browse files
committed
refactor: Use improved MenuService DX methods
Update all components and routes to use the new DX-friendly MenuService API: Components updated: - layout/fleet-ops-sidebar.js: Use menuService.getMenuItems() and getMenuPanels() - map/drawer.js: Use menuService.getMenuItems() - map/leaflet-live-map.js: Use menuService.getMenuItems() - order-config-manager.js: Use menuService.getMenuItems() Routes updated: - routes/virtual.js: Use menuService.lookupMenuItem() instead of manual find() Benefits: - Clear, intuitive API: getMenuItems() instead of getRegistry() - Simplified lookups: lookupMenuItem(reg, slug, view, section) instead of manual filtering - Better DX: Method names reflect intent, not implementation - Consistent with ember-core feature/universe-refactor improvements Requires: ember-core feature/universe-refactor (commit 40d2921)
1 parent f87328f commit 74a09fb

5 files changed

Lines changed: 12 additions & 18 deletions

File tree

addon/components/layout/fleet-ops-sidebar.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import DriverListingComponent from './fleet-ops-sidebar/driver-listing';
77

88
export default class LayoutFleetOpsSidebarComponent extends Component {
99
@service universe;
10-
@service('universe/registry-service') registryService;
10+
@service('universe/menu-service') menuService;
1111
@service store;
1212
@service intl;
1313
@service abilities;
@@ -25,8 +25,8 @@ export default class LayoutFleetOpsSidebarComponent extends Component {
2525
}
2626

2727
createMenuItemsFromUniverseRegistry() {
28-
const registeredMenuItems = this.registryService.getRegistry('engine:fleet-ops');
29-
this.universeMenuPanels = this.registryService.getRegistry('engine:fleet-ops:panels');
28+
const registeredMenuItems = this.menuService.getMenuItems('engine:fleet-ops');
29+
this.universeMenuPanels = this.menuService.getMenuPanels('engine:fleet-ops');
3030
this.universeMenuItems = registeredMenuItems.filter((menuItem) => menuItem.section === undefined);
3131
this.universeSettingsMenuItems = registeredMenuItems.filter((menuItem) => menuItem.section === 'settings');
3232
}

addon/components/map/drawer.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ import { isArray } from '@ember/array';
66
export default class MapDrawerComponent extends Component {
77
@service mapDrawer;
88
@service universe;
9-
@service('universe/registry-service') registryService;
9+
@service('universe/menu-service') menuService;
1010

1111
get tabs() {
12-
const registeredTabs = this.registryService.getRegistry('fleet-ops:component:map:drawer');
12+
const registeredTabs = this.menuService.getMenuItems('fleet-ops:component:map:drawer');
1313
return [
1414
this.universe._createMenuItem('Vehicles', null, { icon: 'car', component: 'map/drawer/vehicle-listing' }),
1515
this.universe._createMenuItem('Drivers', null, { icon: 'id-card', component: 'map/drawer/driver-listing' }),

addon/components/map/leaflet-live-map.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ export default class MapLeafletLiveMapComponent extends Component {
2828
@service abilities;
2929
@service intl;
3030
@service universe;
31-
@service('universe/registry-service') registryService;
31+
@service('universe/menu-service') menuService;
3232

3333
/** properties */
3434
id = guidFor(this);
@@ -405,7 +405,7 @@ export default class MapLeafletLiveMapComponent extends Component {
405405
];
406406

407407
// append items from universe registry
408-
const registeredContextMenuItems = this.registryService.getRegistry('fleet-ops:contextmenu:driver');
408+
const registeredContextMenuItems = this.menuService.getMenuItems('fleet-ops:contextmenu:driver');
409409
if (isArray(registeredContextMenuItems)) {
410410
items = [
411411
...items,
@@ -453,7 +453,7 @@ export default class MapLeafletLiveMapComponent extends Component {
453453
];
454454

455455
// append items from universe registry
456-
const registeredContextMenuItems = this.registryService.getRegistry('fleet-ops:contextmenu:vehicle');
456+
const registeredContextMenuItems = this.menuService.getMenuItems('fleet-ops:contextmenu:vehicle');
457457
if (isArray(registeredContextMenuItems)) {
458458
items = [
459459
...items,

addon/components/order-config-manager.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import findActiveTab from '../utils/find-active-tab';
2020
const configManagerContext = EmberObject.extend(Evented);
2121
export default class OrderConfigManagerComponent extends Component {
2222
@service universe;
23-
@service('universe/registry-service') registryService;
23+
@service('universe/menu-service') menuService;
2424
@service notifications;
2525
@service modalsManager;
2626
@service store;
@@ -40,7 +40,7 @@ export default class OrderConfigManagerComponent extends Component {
4040
* @type {Array}
4141
*/
4242
get tabs() {
43-
const registeredTabs = this.registryService.getRegistry('fleet-ops:component:order-config-manager');
43+
const registeredTabs = this.menuService.getMenuItems('fleet-ops:component:order-config-manager');
4444
const defaultTabs = [
4545
this.universe._createMenuItem(this.intl.t('order-config-manager.tabs.details'), null, { icon: 'circle-info', component: OrderConfigManagerDetailsComponent }),
4646
this.universe._createMenuItem(this.intl.t('order-config-manager.tabs.custom-fields'), null, { icon: 'rectangle-list', component: OrderConfigManagerCustomFieldsComponent }),

addon/routes/virtual.js

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { inject as service } from '@ember/service';
33

44
export default class VirtualRoute extends Route {
55
@service universe;
6-
@service('universe/registry-service') registryService;
6+
@service('universe/menu-service') menuService;
77

88
queryParams = {
99
view: {
@@ -13,12 +13,6 @@ export default class VirtualRoute extends Route {
1313

1414
model({ section = null, slug }, transition) {
1515
const view = this.universe.getViewFromTransition(transition);
16-
const items = this.registryService.getRegistry('engine:fleet-ops');
17-
return items.find(item => {
18-
const slugMatch = item.slug === slug;
19-
const viewMatch = !view || item.view === view;
20-
const sectionMatch = !section || item.section === section;
21-
return slugMatch && viewMatch && sectionMatch;
22-
});
16+
return this.menuService.lookupMenuItem('engine:fleet-ops', slug, view, section);
2317
}
2418
}

0 commit comments

Comments
 (0)