Skip to Main Content
Feature Request FR-4629
Product Area Developer Experience
Status OPEN

5 Voters

Create a new type of bond between regions, where sub-regions can be used as "repeat regions" for each record of the parent

martini.bnu Public
· Aug 25 2025

Idea Summary
Introduce a new region behavior called Repeat Master Region, which allows developers to define a parent region whose records dynamically generate repeated child regions. These child regions would inherit context from each parent record and render independently, similar to nested reports or IG master-detail relationships, but with more flexibility and native support.

This would eliminate the need for complex dynamic PL/SQL rendering logic and enable developers to build sophisticated dashboards or visual layouts where each record spawns its own sub-region with contextual data.

Use Case
This feature would be a game-changer in scenarios such as:
* Dynamic Dashboards: Displaying multiple widgets or charts per record (e.g., per department, project, or user).
* Nested Reports: Showing detailed sub-reports or visualizations under each parent record without relying on IG master-detail setups.
* Custom Layouts: Creating card-based UIs or visual groupings where each card contains its own child region with contextual data.
* Low-Code Reusability: Reducing the need for dynamic PL/SQL region generation, making complex layouts more accessible to low-code developers.
 

Preferred Solution (Optional)
Implement a Repeat Region Type that:
* Allows developers to define a parent region (e.g., SQL query or IG).
* Enables child regions to be nested under the parent and automatically repeated for each record.
* Passes contextual values (e.g., primary key or row values) to each child region via substitution strings or bind variables.
* Supports native region hierarchy and layout options.
* Offers declarative controls for pagination, filtering, and conditional rendering.
This would streamline development and unlock new UI possibilities without resorting to custom PL/SQL hacks.

This idea is open.