GBC 5.00.12 new features and upgrade notes

A summary of new features and changes in functionality introduced with Genero Browser Client (GBC) 5.00.12. 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.00.12 changes, please refer to the list of fixes on our issue tracker.

Previous new features page: GBC 5.00.11 new features and upgrade notes.

New table highlighting framework

There has been a review of the table highlighting system when a table is focused in input mode, and when highlightCurrentRow and/or highlightCurrentCell are enabled. The text color and background color are now corrected (for example, white on deep blue by default).

We advice you to use the new naming for the CSS classes described in What is changing in CSS?. You may need to review JavaScript in your existing customizations for changes to indexing methods in RTableRowWidget and RTableColumnWidget, as described in What is changing in JavaScript?.

What is changing in CSS?

The following are the most important changes:
  1. The widgets RTableItemWidget, RTableRowWidget, and RTableColumnWidget no longer implement the gbc_WidgetBase_in_array and gbc_isInTable CSS classes. As these widgets must be instantiated in a table, this enhancement helps avoid CSS selector collisions.
  2. The RTableItemWidget highlight system was widely reviewed to reduce selector complexity. It now uses gbc_isHighlighted CSS class to highlight the current row and current cell. Also a better color inheritance scheme was implemented.
  3. The .mt-field CSS class definition was replaced by a SASS mixin that is included in all the necessary widgets. You can modify it by declaring the mixin in your customization files. Your modifications will add to the current mixin. The CSS class .mt-field should be considered deprecated.

    This modification may affect your customizations as some specific CSS selectors have changes.

  4. The usage of .mt-label CSS class should be considered deprecated.
Some new CSS classes were added to simplify customization.
Note:

Old classes are still valid, but they are deprecated and will be subject to disappear. If you have customizations, don't hesitate to change class names to fit the new ones.

Table 1. New CSS classes
Classes Replaces deprecated class Comment
gbc_isStandalone gbc_WidgetBase_standalone It is applied when a widget is not in a table, scrollgrid, matrix, or dropdown. It replaces gbc_WidgetBase_standalone, which is deprecated. The new class name is more consistent with naming conventions.
gbc_isInTable gbc_WidgetBase_in_array It is applied when a widget is in a table (classic or flipped). It replaces gbc_WidgetBase_in_array, which is deprecated. The new class is specific to table.

gbc_isInScrollGrid

gbc_WidgetBase_in_array It is applied when a widget is in a scrollgrid (classic or stretchable). It replaces gbc_WidgetBase_in_array, which is deprecated. The new class is specific to scrollgrid.
gbc_isInMatrix gbc_WidgetBase_in_grid_matrix It is applied when a widget is in a matrix. It replaces gbc_WidgetBase_in_grid_matrix, which is deprecated. The new class name is more consistent with naming conventions.
gbc_isHighlighted It is applied to a widget when it should be highlighted. It is mostly used to highlight the rows and cells in a RTableWidget.
gbc_hasFocusedChild It is applied to RTableWidget when in input mode and when one of its descendants is "focused" by the GBC.

The usage of the old CSS classes shown in Table 2 should be considered obsolete and be replaced with the new name.

Table 2. Renamed CSS classes
Old class Renamed to
gbc_RTableItemSelectionArea gbc_RTableWidget__itemSelectionArea
currentRow gbc_isCurrentRow
currentColumn gbc_isCurrentColumn
currentCell gbc_isCurrentCell
selectedRow gbc_isSelected
multirowSelection gbc_multirowSelectionEnabled
gbc_TreeAnchor gbc_RTableItemWidget__treeAnchor

What is changing in JavaScript?

We recommend that you review your existing customizations for the following changes:
  1. A new method to query a specific item, getChild(index), is introduced into the WidgetGroupBase JavaScript class.
  2. The methods getItems() and getItem(index) of RTableRowWidget and RTableColumnWidget are now deprecated. It is recommended that you use getChildren() and getChild(index) instead.

Specify a path to install the gbc build package

The gbc command is typically installed globally with your node.js installation. If you don’t have rights to install new tools globally on your system, you can configure Node Package Manager (NPM) with npm config set prefix to install the gbc build tool in any directory you have read/write access to. For more information, go to Set up your GBC build environment

New theme variables to define padding for label widgets

The $gbc-LabelWidget-margin variable is replaced by two new variables for specifying padding for label widgets.

See Theme variables reference for more details.