Skip to Main Content
Feature Request FR-4080
Product Area Page Components
Status OPEN

6 Voters

Support for Maximize button in Interactive Grid

karel ekema Public
· Oct 25 2024

Idea Summary
Implement the ‘Show Maximize Button’ option from the ‘Interactive Report’ template as applied to the IG, utilizing the already present functionality in theme42.

Use Case
The use case is the same as for other region types who do support the Maximize button (including Interactive Report), enabling the user to have a comfortable and focused visual and interaction wrt the region content.

Preferred Solution (Optional)

  1. Enable in the IG a placeholder for the maximize button. 
  2. Defer the current theme42 ‘Maximize Buttons’ initialization till also the IG is generated. Currently it executes to early for this. 
  3. Upon maximize/restore events, have the IG reorganize it's view as to accommodate for the new fit wrt the number of rows which can be shown.

The recommended template for IG is ‘Interactive Report’. Using the ‘Standard’ template is ‘suboptimal’.

My current workaround is:

Page - Function and Global Variable Declaration:

(function($){
   $(apex.gPageContext$).on("apexreadyend", function(jQueryEvent) {
       $('#<IG Static Id>_ig_toolbar').find('.a-Toolbar-group').last().addClass('a-IRR-buttons');
       apex.theme42.page.init();
   });     
})(apex.jQuery);

This though is executing (a part of) the theme42 initialization twice, which is ‘adventurous’. 

See: demo page

The current theme42 ‘maximize button’ initialization is executed in an early stage. This is fine for server-generated regions, but the IG, as a client-generated component, is not rendered yet, and is missed out. Can this initialization be deferred to a later moment, moving it from ‘document ready’ to ‘apex ready’ (same as for example the ‘tabs’ initialization). Or doing the init split up: ‘document ready’ for server-side generated regions, and ‘apex ready’ for client-side generated regions.

This idea is open.