As always we made a demo for you: try it here.
We'll keep you updated regularly about Universal's progress.
Alpha buildLike with every blog, we've released an alpha build so you can test Universal out for yourself. Don't forget the documentation and be sure to keep the following in mind:
- Universal must be deployed on the same server as Indicium or it should be an allowed origin in appsettings.json.
- Universal only works with version 2018.3 and up of the Thinkwise Platform.
- Furthermore, make sure you run all hotfixes on the IAM and SF that you plan to use for Universal.
- Make sure you are on the latest version of Indicium Universal.
- This is an Alpha version, there is no compatibility plan in place for Universal just yet. Indicium updates and IAM hotfixes will eventually break this Alpha release.
Download your alpha build here
We've made several improvements to edit mode this past sprint:
First off, the save button is always enabled when saving is allowed. Universal previously always made sure everything was up-to-date before allowing users to save. This meant that when you changed the value of a field, you had to click away from the field to indicate you were done with your changes, Universal then did some checks and finally the save button would be enabled. Now we let you press the save button at any time and wait to perform the save until everything is fine and dandy.
When you press the save button and before the record has been successfully saved, the save button animates to indicate that a save is happening. The cancel button is also disabled because it is not possible to cancel a save action. The form fields are also disabled at this point, so no data changes can be made that would be overwritten when the save successfully returns. It looks like this:
Action bar behavior when saving
This is usually only apparent when you have a very slow internet connection.
The same concept has also been implemented for cancelling. When you press cancel and before the record has been successfully cancelled, the cancel button animates to indicate that a cancel is happening. The save button is also disabled because it's not possible to save cancelled changes. The form fields are also disabled because any change you make would be immediately discarded. It looks like this:
Action bar behavior when cancelling
Lookup comboWe recently implemented a 'starts with' suggestion control for lookups. But sometimes you just want to pick an item rather than search for it. For that we created a lookup combo control. It loads all values, rather than just the top eight. You also can't type to search for a value.
The lookup combo control
TasksThe first version of tasks is here. For now we execute tasks that have no (visible) parameters. After this we'll be laying the groundwork to execute tasks with parameters (think showing a popup with a form to enter your data) We'll also visually indicate when a task cannot be executed for the current row.
Executing a task without parameters
LayoutsWe laid the groundwork to execute layouts in non-edit mode when navigating rows in the grid / cardlist. For the next version we'll be working on actually using the layout in the form and the action bar.
Unit testsLike before, we've added 41 more unit test cases for our components, controls and the fetching of data.
Lots of minor fixes/tasks
- The active cardlist row is now scrolled into view (e.g. when adding a new row that gets added to the bottom of the list
- The grid now occupies the full width
- When logging in fails, the username and password will still be remembered
- Detail tiles are now responsive, reducing the chance of scrollbars
- The font is now correct when there are multiple conditional layouts applied to a single row
- Form labels now have a tooltip
- Label control now has the correct font
- We removed the CORS proxy to make the application faster when developing
- All common colors were made into variables rather than hardcoded strings
- We now return the same empty result instead of creating a new one each time for lookups
- Fixed typing issues for various containers which reduces the number of times we need to update the screen