Filtering Features and Notification for Pending Changes
Filtering features
This release includes two new filtering features:
- The ability to hide fields from filter options — When filtering the view on
a record list page, users can select fields on which to filter from a drop-down
list. You can now set an advanced property, Allow
filtering by this field in List Views, on a field. When this
property is unchecked, the field will not appear in the drop-down list of
fields.

- By default, filter options for a record list include advanced filter
options, which include the ability to choose between
Standard, Expression, and
Formula filters, as well as to choose whether
All (AND) or Any (OR) of the
filter conditions are met. You can now hide these advanced filter options for
record list components in the page editor — A new property on this component,
Hide Advanced Filters, controls
whether these options appear on the page:

When this property is checked, the advanced filter options highlighted below will not appear on the page:

Notification when user navigates from page with pending changes
If a user modifies a record on a new, edit, or status change page and attempts to leave the page by navigating away or closing it before saving the changes, a Confirm Navigation dialog will appear. This dialog gives the user a chance to return to the page and save their changes.
This feature is not available on quick create pages.
You can control whether users are notified using the following:
- The property
rb.newui.options.notify.onLeavingDirtyPage— This property has the valuetrueby default. To disable the notifications, set its value tofalse. See onLeavingDirtyPage for details. - The PageContext class method addDirtyPageNotifier() — Enables the notifications
- The PageContext class method removeDirtyPageNotifier() — Disables the notifications
A new PageContext method, isPageDirty(), returns true if the
page has an object record form with modifications.
See the newly documented JavaScript object PageContext and client-side method rbf_getPageContext() for more information.
Note: This feature uses a built-in browser feature that is not supported on Safari for the iPad.
rbf_getPicklistCode() and rbf_getPicklistCodes() client-side APIs now work with other field types
These APIs now work with the following field types:
rbf_getPicklistCode(): Picklist, Picklist (Multi-Select), Group of Checkboxes, Radio Buttonsrbf_getPicklistCodes(): Picklist, Picklist (Multi-Select), Group of Checkboxes
New parameter to rbf_showOrHideField()
The client-side function rbf_showOrHideField()
has a new, optional, Boolean parameter named doNotHideResponsiveColumn. This parameter lets you control the
responsive behavior on view and edit pages when a field is hidden. The signature of
the function is now rbf_showOrHideField(fieldName,
showField, doNotHideResponsiveColumn.
The value of the new parameter specifies whether to overwrite the column occupied by the hidden field:
- When
true, Platform hides only the value of the field, not the column itself. The column for the hidden field maintains its position regardless of the screen size. - When
false, Platform hides both the value of the field and its column. The value in the next column will take its position. - When not provided, defaults to
false.
See rbf_showOrHideField() for details and examples.
JavaScript files available in uncompressed format
The following JavaScript files are now available in an uncompressed format:
- Options.js — Contains the default user interface options for the New UI
- CustomEvents.js — Contains definitions of custom events, event listeners, and event handlers
If you customize the UI with JavaScript, it will be helpful to review the contents of these files. You can find these files at the following locations:
- Platform Private Cloud: http://localhost:8830/prod1/js/newui/ — For example, to view Options.js when using a tenant running the PAS server, you would use the URL http://localhost:8830/prod1/js/newui/Options.js.
- Hosted Platform: https://www.rollbase.com/prod1/js/newui/ — For example, to view Options.js, you would use the URL https://app.infiniteblue.com/prod1/js/newui/Options.js.
Performance improvements when using OpenEdge Data Objects
This release introduces the following features that improve performance when using OpenEdge Data Objects from an OpenEdge Data Object Service:
- Ability to cache OpenEdge Data Objects — Platform now caches Data Objects instead of fetching them from the Data Object Service each time they need to be accessed. A new property on the object definition, Clear Record Cache After, allows you to specify the number of seconds after which to clear the cache.
- Improved implementation for counting OpenEdge Data Objects — Prior to this
release, Platform fetched all records from the Data Object Service to count
them when rendering a record list view. This release introduces the
capability for Platform to invoke a count operation on the Data Object
Service to return the count without fetching the records. Enabling this
behavior requires the following:
- The OpenEdge Data Object Service must implement a
countoperation that returns the total number of records. - You must enable count on the object definition by checking a new property on the object definition, Service Object supports count operation.
- The OpenEdge Data Object Service must implement a