26.6.15
Highlights
- Standardized object workspaces around split master/detail navigation across the frontend.
- Added sheet-based object editing for asset models and assets.
- Added backend update endpoints for asset models and assets.
- Refactored frontend responsibilities toward cleaner architecture boundaries.
Object Workspace UX
- Added a Service module with a parent Issues workspace.
- Added URL-focused object routes such as
/asset-models/:id,/assets/:id, and generalized/object/:idroutes for other object collections. - Applied the asset model/assets master-detail interaction pattern across asset, location, census, school, tenant, and user object pages.
- Added draggable split-pane behavior with a reusable application composable.
- Changed related asset selection from asset model detail to navigate to
/assets/:idinstead of opening a third panel. - Kept related-object selection focused on changing the master/detail context instead of deep drill-in panes.
Editing
- Added shadcn-vue sheet primitives for object editor surfaces.
- Added edit-sheet workflows for asset models and assets.
- Added
PUT /asset-models/{model_id}andPUT /assets/{asset_id}backend endpoints. - Added asset update validation for tenant ownership, model scope, serialized assets, and countable assets.
Service Module
- Added
projectsas the core organizing object for service work. - Seeded shared
Technology ServiceandMaintenance Serviceprojects. - Added
issuesas the parent issue table for service-module work. - Associated issues to projects with optional
project_id. - Added support for service request, known problem, incident, post-incident analysis, change, and repair issue subtypes.
- Migrated asset repairs to carry a parent
issue_id. - Added list and create endpoints for
/projects,/issues,/service-requests,/known-problems,/incidents,/changes, and/post-incident-analysis. - Added project and service-module frontend workspaces with add-sheet creation flows.
- Updated asset repair creation to create the parent issue and repair subtype record together.
Frontend Architecture
- Added shared route and formatter modules.
- Added an infrastructure HTTP client module for API base URL, app version constants, response parsing, and unauthorized handling.
- Added a reusable
ObjectCollectionViewpresentation component. - Moved object collection display configuration into
features/objectCollections/viewConfigs.js. - Moved split-pane drag behavior into
application/useSplitPanel.js. - Reduced direct responsibility in
App.vueso it acts more as the application shell and workflow orchestrator.
UI Fixes
- Fixed asset type end-of-support labels so specialized object views replace the label, not the value.
- Fixed asset menu child navigation interactions.
- Fixed route synchronization so
/dashboardand other routes are no longer forced back to/asset-models. - Improved collapsed sidebar layout behavior.