APEX: Charts in Tabs Container not visible - oracle

I have in APEX a 'Static content' region. This has the template 'Tabs container'. As subregions (or 'tabs' as it is called within this template) I have multiple charts. The problem is that just the chart of the active tab is displayed correctly. When selecting another tab, the chart within the selected tab is not display. I have to resize the browser window, then the chart is displayed.
I'm using the default APEX Theme (42) without changes.
Is this an APEX bug or am I doing something wrong? If this is bug, is there a workaround?
Link to question in Oracle Community Forum: https://community.oracle.com/thread/3947770?sr=inbox&ru=289068
Thanks for your answers,
Peter

I solved this error by the following two steps:
Replace the Tab Container region with a Region Display Selector region. This region is like a tab menu. All regions that should be shown in the tab menu need to have the flag 'Region Display Selector'. All the regions that are handled by the Region Display Selector should be on the same hierarchical level as the Region Display Selector.
The main error still exists but for Region Display Selectors, APEX fires an event for which you can write a handler:
$(document).ready(function() {
$('.apex-rds').data('onRegionChange', function(mode, activeTab) {
$(window).trigger("apexwindowresized");
});
});
The handler fires an event that the browser window size has been changed on which the charts automatically act and redraw everything.
This should also work for the Crousel Container. A big thanks goes to this blog entry: https://apexplained.wordpress.com/2016/05/02/working-with-region-display-selectors-in-apex-5-0/

Related

Oracle apex Button within row to call region as inline popup dialog

I am using apex 20.2. I have an interactive report, and, following Dan McGhan's post from March 9, 2020 to a similar question , I have a button that opens a region on the page from each row. That's great - but...
How/where do I specify which region to open, based on a value in the row? Meaning, I want a different region to open, based on a value in the row.
OR
How do I pass a value from the master grid, to the region? That way, I can put sub-regions in the region that will open as an Inline DIalog, and only the pertinent region will appear.
Thank you

How to add the anchoring for the apex interactive grid column link builder

I want to click the column in APEX Interactive grid. It should go the Classic report in the same page. I gave the anchor value in the Link Builder - Target. But it is going to the top of the page, not the classic report region. How to give the anchor for the Interactive grid?
Can anybody please provide the solution
You can use a set focus for a specific region.
var region = apex.region( "myRegion" );
region.focus();
or
<body onLoad="javascript:setFocus('P4_USERNAME');">
or
You can use set Focus dynamic action to set focus for item/tegion etc.

How to hide a region and unhide it on a button click in Oracle apex?

I want to hide a region and unhide it on a button click in Oracle apex, but its showing an error on false action that in when condition nothing is defined.
Can anyone please help me regarding this.
Regards,
Anshul Ayushya
A simple way to do that is to create two buttons: one to hide a region, and another to show it.
create them using default settings; nothing special
create dynamic actions for both of them
"Hide" button should have the "hide" action, it affects a "region" whose name is selected from the list of available regions
"Show" button should have the "show" action, it affects a "region" whose name is the same as for the "Hide" button
Run the page and enjoy in hiding/showing the region.
You could have a look at collapsible region.
Create a region, Appearance needs to be set to Collapsible (you can configure the options right below in Template Options). Some types of regions do not offer Collapsible (e.g. Interactive Report), but then you could just create a static content region, make it collapsible and create a subregion of the desired type. And you are done.
If you only want to have one button for showing/hiding the region, you might also use jQuerys .toggle() function. For that, add a static ID to your button and create a dynamic action with a JavaScript action that runs the following:
$("#<<STATIC_ID_OF_BUTTON>>").toggle();
This will hide/show your region on every click of the button. To load the region hidden, just add the following CSS for the region:
#<<REGION_STATIC_ID>>{
display:none;
}
With .toggle() you can also add options, such as defining a function to execute once the toggle actions has completed or the duration of the toggle animation such as:
$("#<<STATIC_ID_OF_BUTTON>>").toggle({
duration: 400,
complete: () => {"do someting here"}
});
See the jQuery documentation of the .toggle() function for a full list of options.

Marionette Layout object to render tab content

I have a region in which I need to have a tabbed view (simple) however if I want the tab content to be differently layout - not sure how to achieve it. I can create different layout with multiple region and corresponding view, but how do I attach this to tab content, given that applyout can only be attached to region? Or can this be attached to one of the div of tab-content using $el?? Need some pointers.
Not sure I entirely understand your question.. But here goes.
I have implemented a navigation component where I can pass a tabsCollection and region. It will set up a region for the content and a list of tabs above it. When a tab is clicked it will fire the callback on the model in the tabsCollection which can be used to display what ever content you want.
There are more complex ways to handle this to allow for caching of a tabs content. But basically using a Backbone collection for the tabs with their own function for displaying content will do the trick.

UPDATE (Event) PROBLEM WITH AJAX ACCORDION CONTROL

I Have three records which I want to display in three Accordion Panes
which (every pane) will have a Header and a content ( Two label controls, 1 text box and 1 checkbox and 1 link button)
I am able to display data on the accrodion from database but when I am trying to Update the text in textbox by clicking link button the LINKBUTTON doesnot fire and unabel to make the update. How can we create Update event working ??
I am creating the Accordion Panes and Content controls statically and directly assigning the values to the controls from Code behind in Page Load.
I was able to do it using the "ItemCommand" event of the Accordion Panel by using the Command Name property of a Link Button which will update the Text Boxes.
It works for me now but I felt JQUERY will be a better option which has no postback, css issues..

Resources