Skip to Content

Is Active Value for List Objects

Use Case

In Vinyl we can define a business object for a list box control on an application page. Designers will often add criteria to these business objects so that users only select active records at the time of usage. The challenge is that over time, GUIDs will often display on application pages as records become inactive.

The Is Active value available to be configured for usage in Vinyl is compatible with List Objects, Radio and Button Group Controls. This feature allows users to configure information about it at the panel Control level and optionally at the business object level. When configured at the panel Control level (what Vinyl looks at when running the page) for a given object will result in only active data rows being presented for selection.

If you leverage Vinyl's Enhance Table option, Vinyl will automatically add an Is Active column to the table. This can be leveraged as a control setting for any set of records where you never want to delete a record (for example, audited tables).

Overview

For background, the underlying issue is that by applying an active filter as part of the business object selection criteria the data is not available for list values that point to inactive data rows. To solve this the active filter needs to be removed from the business object selection criteria and applied within the list control. With this new Is Active approach, when data is being viewed it will have access to all active and inactive data rows. When the list value is open in edit mode the list will present only active data rows for selection.

To Configure Is Active for a List from a Page

This example will step through creating Is Active for a List Object, the feature is also supported on Radio and Button Group Controls.

In order for the Is Active feature to work properly, it must be configured on List Options in the Live Designer. The List control has a field called Active (Column) in the List Options settings. This field is where you can set a Boolean column from your business object that is the active indicator column. When the List control goes into an edit state any rows returned where this Is Active column evaluates to false will be excluded from the selection list.

  1. Navigate to the application page containing a list you wish to modify
  2. Go to Action Drawer > Live Designer
  3. Select the list control from the app view
  4. Select the List Options tab from the Live Designer
  5. For the Active (Column) field, set the column that you wish to indicate as the active indicator. For example: IsActive
  6. Click Save

isactive.png

To Configure Is Active from a Business Object

To assist in rapid development a new Usage Type has been added to the Business Layer. This Usage Type is appropriately named Is Active. You can tag a column in your business object with the Is Active usage type. If this has been done, when a List control is added to a panel pointing to this business object, it will fill in the Active (Column) value for the List control automatically with this column name. This filled in value on the panel Control level can be manually removed or changed to a different value, if desired.

Note that configuring Is Active at the business object is optional, and if configured is used as a "hint" to provide any panel it is then used by that contains a list lookup source.

  1. Navigate to the Business Layer, to a business object you wish to modify
  2. Click the Columns tab
  3. Locate the Column you wish to configure as the Is Active value
  4. Select Is Active as the Usage Type value
  5. Click Proceed to save the setting

isactivebusinesslayer.png

Configuration Example

In this example, we will step through how to disable Categories from appearing in a list that are marked as Inactive when creating a new Product.

  1. From the page containing the Category control, go to the Action Drawer > Live Designer
  2. Select the Category control from the app view
  3. Click the List Options tab from the Live Designer
  4. For the Active (Column) field, select the IsActive value
  5. Click Save
  6. Exit the Live Designer and test. In this example you will now see the two Non-Active Categories (Alt-Meats and Custards) no longer appear as options in the list when editing or creating a Product.