Hi all, unfortunately personal circumstances have recently forced a slight slowdown in UIBUILDER development. But fear not, things are progressing and will continue to do so.
The next planned release is v7.3.0 and should be a small feature release.
The main features will likely revolve around templates. Templates in UIBUILDER are pre-canned sets of front-end code and configuration. When you load a template, it replaces any files that overlap. Typically the src/index.{html,css,js}
files that define your basic UI.
Up till now, there have been a 1/2 dozen or so internal templates that demonstrate the basics of the uibuilder front-end library in both standard script as well as ES Module forms. And some VueJS examples for both Vue v2 and v3. There is also an example Svelte template.
In version 7.3 and beyond, most of these templates have been removed from the uibuilder core. It has been increasingly difficult over the years to keep the templates current and since VueJS is now rarely needed and I now very rarely use it at all, I took the decision to deprecate them and remove them from core. They are now relegated to a separate repository and will no longer be updated. Of course, you can still copy the code yourself should you need a head-start and want to use them.
On a more positive note, I have reworked the template handling to make it more flexible. Previously, there was (and still is) the option to load an external template, for example direct from a GitHub repository. This uses the excellent degit
tool.
Now, standard templates can also be external. This means that any remaining standard templates apart from the most basic ones, have been moved to their own GitHub repositories and will be much easier to maintain. They will also be maintainable out-of-band from UIBUILDER updates.
When selecting templates, you will now also see a brief description of the template.
The basic code for this feature is already written and tested, I am in the process of moving the templates.
Other than that, there probably won't be a lot more in this release:
- The basic font specification for the default CSS has been improved based on the excellent work of Modern Font Stacks
- Fixed an error in the
RED.util.uib.dp
helper function (that converts a floating point number to have fixed decimal places). - Have done a LOT of tidying up and improving the structure of some of the code.
- Done more work on standardising the format and style of log messages. You will see that most are now prefixed with the
emoji to make them easier to spot.
- Started being more explicit when naming JavaScript files, using
*.cjs
for CommonJS files and*.mjs
for ES Module files. This should slightly ease the slow migration of code from CJS to MJS.
As always, there is a development branch available on GitHub should you wish to test the changes. And please do reach out if you spot any issues or would like to see something included in UIBUILDER.