GSA / GEAR3

Next Iteration of the GSA Enterprise Architecture Reporting (GEAR) Portal
7 stars 3 forks source link

Refactor the collapsible sidebar: ng-sidebar-v2 is not a long term solution #173

Open hatfieldjm4 opened 10 months ago

hatfieldjm4 commented 10 months ago

When upgrading to Angular 16, the ng-sidebar repo (what we use for the collapsible side bar) would not allow me to build the app due to incompatible dependencies.

I found a repo that someone forked off of the initial ng-sidebar repo, and they added configurability with Angular 16. I uninstalled ng-sidebar and installed the ng-sidebar-v2 library, made a quick edit to an import reference, and I was able to build and serve on 4200 successfully. I've saved my edits to the Angular16-hotfix branch. This ng-sidebar-v2 library may not be a viable long term solution, though. I'm not sure if the person will continually update it for upgraded versions of Angular. It only has about 8 downloads in the last week, according to npm.

We will need to refactor the collapsible sidebar with the same functionality for future Angular upgrades.

hatfieldjm4 commented 9 months ago

A possible solution that is native to Angular is the use of Angular Material's "sidenav": https://material.angular.io/components/sidenav/overview

hatfieldjm4 commented 9 months ago

This will need to be addressed shortly after the launch of GEAR3, in the March-April 2024 timeframe

hatfieldjm4 commented 5 months ago

We may be able to update the Angular references in ng-sidebar-v2 and self-publish this repo on NPM, but we need confirm whether there is an Agency process for hosting a library on NPM.