Constraining width for LabKey WebParts and Views 16 Jun 2015

Building custom web views within LabKey is pretty straightforward, but if you find yourself needing to constrain the contents of your module horizontally you’ll quickly find that the surrounding tables will gladly stretch to any width. Fortunately restricting the width of hte container is pretty straightforward.

TL;DR: Wrap your contents in a table with table-layout: fixed; width: 100% and the contents won’t push the surrounding page to wider than the browser window.

LabKey’s JavaScript API is rich, and allows complex JavaScript applications to be built against it whilst being hosted as web parts or views within… Read more

Reclaiming my Saturday mornings 22 Mar 2015

You hear it everywhere: ‘if you want something doing well, do it yourself’. Maybe the primary source is beleaguered managers in stagnant organisations where delivering on promises is the exception rather than the rule, who knows.

That message ingrained itself in me as I grew up. When I started managing people and projects it took a huge effort to let go of the critical tasks, and not only to trust people to do the work well, but also to accept that ‘doing it well’ might actually involve doing it differently to how I would have.

As a specialising… Read more

App-wide AngularJS alerts 17 Mar 2015

Generic alerts are a common requirement in most web applications, and as your Angular application grows in complexity the importance of a standardised way of feeding back to the user gains importance with it. Luckily it’s quite straightforward to leverage Angular services as a system-wide alerting tool.

There are a number of articles covering Angular user alerting, but each one relied on $rootScope or nested scopes. I try to avoid use of the root scope where possible, in the same way we shun the use of the global namespace in JavaScript in general.

Th first problem we need… Read more