Skip to content

feat: resource view registries for fleet-ops tables and panels - #347

Merged
roncodes merged 2 commits into
release/v0.6.71from
feature/resource-view-registries
Oct 3, 2026
Merged

roncodes merged 2 commits into
release/v0.6.71from
feature/resource-view-registries

Conversation

@roncodes

Copy link
Copy Markdown
Member

Extensions can add columns, row actions, bulk actions and toolbar buttons to fleet-ops tables through fleet-ops:table:<resource>:<slot>. They can add header buttons and menu items to the details panels through fleet-ops:details:<resource>:<slot>. Details tabs keep fleet-ops:component:<resource>:details.

Changes

  • @registry on every top-level Tabular / TabularActions index view and Panel details view, 25 resources in all. The contacts header follows the open tab's registry.
  • *-actions panel.view passes registry: this.detailsRegistry, so side panels merge the same buttons. customer and schedule map their model names to their resource names.
  • Stable ids on built-in columns, actions and buttons; index query params include registered filter params; registries declared in extension.js.
  • Not in this PR: nested sub-tables (telematics and device detail tabs, fuel-provider transactions).

Fixes

  • Registered tabs in driver, vehicle and trailer actions: registeredTabs deleted route from the shared registry items, which broke those tabs in the routed details view once a side panel had opened. It also kept only tabs without a component, which are the ones a panel can't render. All three now use registeredPanelTabs() like the other services. A test is added to trailer-actions-test.
  • Sensor details: the view read the place tab registry instead of its own.

Depends on

Merge only after both are published. Before merging, bump @fleetbase/ember-core to ^0.3.25 and @fleetbase/ember-ui to ^0.4.5, and refresh the lockfile. Until then this branch builds against the old APIs and will not run.

Naming and API reference: docs/resource-view-registries.md in ember-core.

Testing

Lint and template-lint pass. No tests were run locally, including the new trailer-actions test.

Extensions can add columns, row actions, bulk actions and toolbar buttons to
fleet-ops tables through fleet-ops:table:<resource>:<slot>, and buttons and
menu items to its details panels through fleet-ops:details:<resource>:<slot>.

- @registry on every top-level Tabular/TabularActions index view and Panel
  details view; the contacts header follows the open tab's registry
- *-actions panel.view passes registry: this.detailsRegistry, so the side
  panels merge the same buttons (customer and schedule map to their resource)
- stable ids on built-in columns, actions and buttons; index query params
  include registered filter params; registries declared in extension.js

Fixes found on the way:
- driver, vehicle and trailer registeredTabs deleted `route` from the shared
  registry items (breaking those tabs in the routed details view once a side
  panel had opened) and kept only tabs without a component, which are the
  ones a panel cannot render; they now use registeredPanelTabs like the rest
- the sensor details view read the place tab registry

Requires @fleetbase/ember-core 0.3.25 and @fleetbase/ember-ui 0.4.5.
@codecov

codecov Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (5f846a9) to head (3bcaced).
⚠️ Report is 1 commits behind head on release/v0.6.71.

Additional details and impacted files
@@                 Coverage Diff                 @@
##             release/v0.6.71      #347   +/-   ##
===================================================
  Coverage             100.00%   100.00%           
  Complexity             12329     12329           
===================================================
  Files                    600       600           
  Lines                  46419     46419           
===================================================
  Hits                   46419     46419           
Flag Coverage Δ
backend 100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@roncodes roncodes mentioned this pull request Oct 3, 2026
@roncodes
roncodes changed the base branch from main to release/v0.6.71 October 3, 2026 02:19
ember-core 0.3.25's loadSubjectCustomFields rejects instead of resolving with
undefined when the fields cannot be loaded. Every other caller already catches;
this one now does too, leaving the form without custom fields as before.
@roncodes
roncodes merged commit 77aa076 into release/v0.6.71 Oct 3, 2026
8 checks passed
@roncodes
roncodes deleted the feature/resource-view-registries branch October 3, 2026 03:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant