Angular custom async validators can be very useful for checking data against a backend server, such as a JSON http service. Async validators are only executed after synchronous validators are marked as valid, which helps to reduce unnecessary calls to the server. In addition, the call to the server can be timed to only happen after a specified period since the last keystroke, thus simulating the effect of a debounce using the RxJS operator debounceTime().
Many people are still converting their Clarion for Windows applications from using the old Topspeed file format (.TPS) to various versions of SQL. We first undertook this process with a client in the year 2001! We had a lot on our plates back then with “Year 2000” concerns about the world coming to an end when all dates in the format dd/mm/yy would suddenly become 01/01/00 – fortunately the fix for Clarion programs was very simple and life continued.
In a previous post I discussed how we wanted to “modernize” the appearance of a simple Clarion application. We decided to use styling similar to that found in Norton Internet Security, namely a single MDI frame with a large toolbar and sub windows maximized within the main frame. Thanks to the Clarion Metro Wizard class posted by Brahn Partridge we found the means to remove the standard Windows caption bar and replace it with a “Metro” style caption bar.
Clarion allows us to change the colors of browse lists and this can be a handy way of highlighting individual cells, or rows within an application. However it can be tedious to apply a set of colors across an entire application. So, I created a simple Clarion ABC template that sets the color of browse lists globally - GWBChangeBrowseRowColors