mohd-faraz

_blogs

// blogs / 20260421.md

Dev Log: April 21 Wrap-up

2026-04-21
#Angular#Bootstrap#RxJS#UI-Fixes

Overview

Today was one of those days where I spent half my time fixing 'invisible' bugs and the other half wrestling with async logic to make our barcode labels a bit smarter. Nothing revolutionary, just solidifying the foundations.

What I Worked On

Squashing UI Papercuts

I started the morning by tackling a frustrating UI bug in our resource grid. The row-click accordion was completely unresponsive. It turns out that during our move toward Bootstrap 5, a few legacy data-target attributes were left behind. A quick swap to data-bs-target fixed the collapse behavior, but it's a reminder that these little migration leftovers can still bite you weeks later.

While I was in that part of the codebase, I also finalized the integration of a JSON Editor module. We've been needing a more robust way to handle raw configuration data within the form manager, so having a dedicated editor UI instead of a plain text area is going to save us from a lot of syntax errors down the line.

Refined Barcode Logic

I spent a good chunk of the afternoon on the barcode component. We needed to display specific package information on labels, but only for certain outpatient scenarios.

I ended up using firstValueFrom to handle the configuration fetch. It made the async logic much cleaner than nesting multiple subscriptions. Now, the system checks if the items are part of a package and dynamically pulls the necessary label info from the config service before the print job even fires. It feels much more reliable than the hardcoded approach we almost went with.

Data Mapping Fixes

I also caught a small but critical bug in a cumulative reporting component. The data wasn't loading because the API parameters were using a filter key where the engine actually expected args. It’s a tiny change—literally one word—but it was the difference between a blank page and a working report.

Wrapping Up

Most of today was about alignment—making sure the frontend attributes match the CSS framework and the API keys match the backend expectations. It’s not the most glamorous work, but the app feels a lot more stable tonight than it did this morning. Tomorrow, I'm hoping to dive deeper into some performance tweaks for the grid rendering.

Catch you then.