A summary of new features and changes in functionality introduced with Genero Browser
Client (GBC) 5.01.04. Note the changes you may need to make when moving to this version of the
GBC.
Important:
This page covers only those new features introduced with the Genero Browser Client
version specified in the page title. Check prior new features pages if you migrate
from an earlier version.
For a detailed list of GBC 5.01.04 changes, please refer to the list of fixes on our issue tracker.
Previous new features page: GBC 5.01.03 new features and upgrade notes.
New theme framework
This new framework is changing how theme variables are organized, named, and how they interact.
We advice you to use the new naming for the theme variables as described below but your current
customization should work without making these changes.
Concepts
New UI design concepts were introduced with this new theme framework in an effort to improve
design consistency and to help make it as easy as possible for users to understand and navigate your
apps. Furthermore, the UI design concepts will help you customize the GBC.
- Theme variables are organized into layers, forming a hierarchy
- This reorganization involves renaming and recategorizing the variables into layers and groups.
This may not alter your approach to customizing the GBC, but it could provide you with new insights
to enhance your customization process.
- Top UI designer layer: This new top layer introduces variables in the
ui-*
namespace, which map to the existing theme-*
variables,
providing a foundation for UI customization.
- UI Toolkit layer: This layer contains variables in the
mt-*
namespace,
establishing a base for themes and styles that are applied to Genero application widgets.
- Genero widgets layer: This layer features variables in the
gbc-*
namespace, enabling customization of Genero and GBC widgets within your application.
For more details on these changes, go to Theme variables overview.
- Variable naming consistency
-
Variable names are defined more consistently in the format
[name-space]-
[identifier].
- name-space is mainly
ui
, mt
, or gbc
.
- identifier is a dash-separated name.
For example, where previously gbc-DateEdit-color
was set with
theme-secondary-color
, it is now set with ui-text-icon-color
instead.
What is changing
Previous customizations should not be affected by this new framework, as every old theme variable
has been kept as an alias.
Note:
Old variables are still valid, but they are deprecated and will be subject to disappear.
If you have customizations, don't hesitate to change variables names to fit the new ones.
For more information about theme variables, see Theme variables reference.
Deprecated theme variables
The theme-*
namespace is now deprecated. This namespace contained variables that
allowed you to apply customization settings globally to the user interface (UI) and to specific
widgets. It has been replaced by the ui-*
namespace.
The existing theme-*
variables serve as aliases for the ui-*
variables, allowing you to continue using them. However, if you have customizations, feel free to
update the variable names to match the new ones.
For more information about ui variables, see General styling.
New gbc-* variables
Each table in this section illustrates the relationship between the new $gbc
variables and their old theme-related corresponding aliases.
Table 8. New gbc-disable-context-menu variable
Variable |
Alias (for compatibility) |
gbc-disable-context-menu |
theme-disable-context-menu
|
New html-* variables
Each table in this section illustrates the relationship between the new $html
variables and their old theme-related corresponding aliases.
New mt-* variables
Each table in this section illustrates the relationship between the new $mt
variables and their old theme-related corresponding aliases.
New UI variables
Each table in this section illustrates the relationship between the new $ui
variables and their old theme-related corresponding aliases.
Main color changes
New concepts were introduced with the new theme framework that affects colors.
- Generated palettes are deprecated
- The Main color palettes are now deprecated. Color schemes
are now defined using the
ui-*-color
and widget specific color (gbc-*Widget-*-color
)
variables. Their defaults are hardcoded using RGB values or set with default values calculated from
other ui-*
color variables.The existing theme-*
variables serve
as aliases for the ui-*
variables, allowing you to continue using them. However, if
you have customizations, feel free to update the variable names to match the new ones.
- Color variables naming consistency
- In previous versions of GBC, some complexity existed in variable naming and identifying what
element they targetted.
We introduced new variables to have more consistency and to simplify the
process. Variable names are now defined in a format that identifies their role and their target UI
element.
In this system, you select a primary color (
ui-primary-color
) to
represent your brand and your primary color can also be used to accent UI elements by adjusting it
using an algorithm to get variants, such as
*-faded
,
*-emphasized
,
or
*-disabled
. For more details, go to the
Optional top design layer. You can set the main color scheme for your application
with the following variables:
- On colors
- "On" colors are introduced in the context of Google Material Design. They refer to the colors
used for elements, such as text or icons, that appear on top of surfaces with different colors. The
"on" color for the primary color is defined by
ui-on-primary-color
.
For more details and usage examples, go to the Themes and colors
page.
New front call variables
New gbc-frontcalls*
variables have been introduced for managing device
geolocation, implemented using the standard API GeoLocation.getCurrentPosition
. For
more details, see the MDN Geolocation options (external link). This API allows you
to specify options such as timeout, position accuracy, and position aging. Additionally, new theme
variables enable customization of these options.
Front calls implemented for table width
We have introduced two new front calls designed to adjust the width of table columns when
displayed. These front calls serve the same purpose as the actions you would typically perform by
right-clicking on the table header and selecting "autofitAllColumns
" or
"fitToViewAllColumns
." However, the advantage of using these front calls is that
they can be invoked within a BEFORE DISPLAY
block in your code.
Additionally, a new module named table.js
has been created to support these
front calls.
For more information on using these front calls, refer to the Table front calls
section of the Genero Business Development Language User Guide. For examples of customizations using front calls, go to Customizing your application using front calls.
Deleted theme variables
The following variables, which were previously marked as deprecated or which have been unused in
previous GBC releases, are now removed. The GBC build tool will raise an error if a customization
sets them.
Table 37. Deleted theme variables
Variable |
Comment |
theme-alternate-row-background-color |
Unused variable |
theme-chromebar-goto-active-window-background-color |
Unused variable |
theme-chromebar-goto-active-window-background-hover-color |
Unused variable |
theme-density-scale |
Unused variable |
theme-group-separation-size |
Unused variable |
theme-header-color |
Replaced by ui-background-color to initialize Accordion Folder widget background and window
header.
|
theme-hover-color-on-color |
Unused variable |
theme-primary-emphasis-color |
Unused variable |
theme-toggle-chromebar-min-width |
Unused variable |
theme-toggle-right-sidebar-min-width |
Unused variable |
Table 38. Deleted gbc variables
Variable |
Comment |
gbc-ChromeBarWidget-goto-back-active-window-background
|
Unused variable |
gbc-ChromeBarWidget-goto-back-active-window-background-hover
|
Unused variable |
gbc-FolderWidget-separator-color |
Unused variable |
gbc-GroupWidget-margin |
Unused variable |
gbc-GroupWidget-padding |
Unused variable |
gbc-MonitorDebug-* |
Unused variables |
gbc-primary-medium-color |
Unused variable |
gbc-primary-strong-color |
Unused variable |
gbc-secondary-color |
Using ui-text-icon-color instead |
gbc-TableWidget-margin |
Unused variable |
gbc-TableWidget-border-width-top |
Unused variable |
gbc-TableWidget-border-width-right |
Unused variable |
gbc-TableWidget-border-width-bottom |
Unused variable |
gbc-TableWidget-border-width-left |
Unused variable |
gbc-TableWidget-resizer-z-index |
Unused variable |
gbc-TableWidget-focus-border-width-top |
Unused variable |
gbc-TableWidget-focus-border-width-right
|
Unused variable |
gbc-TableWidget-focus-border-width-bottom
|
Unused variable |
gbc-TableWidget-focus-border-width-left |
Unused variable |
gbc-TableWidget-field-disabled-background-color |
Unused variable |
gbc-TableWidget-dnd-border-color |
Unused variable |
gbc-toggle-right-sidebar-min-width |
Unused variable |