Sample Header Ad - 728x90

How to create a custom "Customize" frontend in Oracle APEX 19+?

1 vote
0 answers
662 views
If you create an application with "Theme Style Selection" option and "Enable End Users to choose Theme Style" in User Interface Attributes, there's a "Customize" link in the footer, which is referenced by #CUSTOMIZE# substitution placeholder in the template, and the target is javascript:apex.theme.openCustomizeDialog(title, language);. This function then opens a modal dialog (apex.navigation.dialog) with a wwv_flow_customize.show page using these parameters: * p_flow - Application ID, returned by $v('pFlowId') * p_page - Page ID, returned by $v('pFlowStepId') * p_session - Session ID, returned by $v('pInstance') * p_lang - Language two-letter code, from openCustomizeDialog argument > This page could also be opened as standalone if you replace /f?p=... part with /wwv_flow_customize.show?p_flow=... This page contains a form with radio group name="p_themestyle". Labels of the options match with public Theme Styles, but the numeric multiple digit values don't match with Theme Style IDs from wwv_flow_theme_styles table. What I need is a custom theme style switcher frontend. But I can't find the exact JS calls that set certain Theme Style IDs as selected for the current user. "Apply Changes" button just does onclick="javascript:apex.submit('DOIT');". And the desktop_all.min.js file is very minified and obfuscated to properly debug. I also wasn't able to track network activity in debugger as it always resets records after "Apply Changes". * Is there an option somewhere to edit how the "Customize" page looks like? * Is there full documentation for this feature somewhere? * Where and how does APEX store which theme the current user has selected? * What are the options to debug this request and find this particular API call in network activity?
Asked by tsilvs (160 rep)
Feb 12, 2021, 01:46 PM
Last activity: Feb 15, 2021, 09:37 AM