Press "Enter" to skip to content

Tag: APEX 5.0

APEX Interactive Report Checkbox Row Selection

The question of how to add checkboxes to interactive reports comes up often. Usually the problem is not getting the checkbox to display in a row but in how to do something useful with the checked state. There are many forum or blog posts on this topic but they all seem to be rather dated. Even when the general idea is still applicable they use outdated practices including:

  • Inline event handlers using onchange or onclick attributes. These should be dynamic actions.
  • HTML regions with script tags in them or script tags in the HTML Header page attribute. There are much better ways to get JavaScript on a page now. Consider JavaScript File URLs, Function and Global Variable Declaration, and Execute when Page Loads attributes as well as dynamic actions.
  • Making ajax requests using the htmldb_Get API. This should be replaced with dynamic actions or apex.server.process API calls.

So I thought I would take a stab at solving this problem.

8 Comments

APEX 5.0 Custom Menus

This topic has been motivated by a few different APEX forum threads as well as direct questions from teammates. Here I will show how to add a menu button to each row of an interactive report that will open a menu and the menu item actions will be specific to the row.

Custom Menu Demo

The above pictured Custom Menu Demo is available to try out and to download. This article assumes some familiarity with APEX and JavaScript.

Simple Popup Menu

Before going into how to create a custom menu let me make sure that we all know how to create a simple list based popup menu.

1 Comment

APEX 5.0 Dialogs

My guess is that if asked what APEX 5 UI feature is the most complex, most people would say Page Designer. It is true that Page Designer is big, as in a lot of code, but it is also very modular and you can understand each part and then how they work together. Another good guess would be Universal Theme because it is very broad in scope, has fancy CSS that must work cross browser and some nifty behaviors such as collapsible side bars and sticky headers. However, given the title of this article, it should be no surprise that in my opinion the most complex UI feature of APEX 5 is the modal dialog page. Here is why.

2 Comments

APEX 5.0 Interactive Report Customization

The improvement to Interactive Reports in APEX 5.0 has gotten mixed responses. Many people are very happy with the improvements, which include: multiple interactive reports per page, fixed headings, improved looks, improved usability, improved markup, and new features such as pivot.

However, people that had previously customized their apps by leveraging internal unsupported functions of Interactive Reports are lamenting the loss of the gReport variable that enabled those customizations.

The improvements in 5.0 and any future improvements necessitated restructuring the code to isolate the internal details. What was left out is an API to the useful features that people had discovered and shared. As Anthony mentioned on the OTN forums this is something that we hope to rectify in the future. The rest of this article is for the curious and impatient.

1 Comment

Right-to-left Support in APEX 5.0

This post contains statements about possible future functionality. These are not official statements. They are speculative, subject to change, and should not be relied upon.

Right-to-left direction support (RTL) was not a stated goal or feature for APEX 5.0. That hasn’t stopped a number of people from asking about it; why no RTL support?, how do I create an app using RTL direction? For someone building an APEX app in a right-to-left language the Universal Theme doesn’t seem very universal.

Although RTL is not a 5.0 feature it doesn’t mean we completely ignored the issue. Here I will describe and demo what can be done today and hint at future possibilities. It isn’t a ready to use solution but should help get you started. We intend to improve RTL support over time including some out of the box capabilities in Universal Theme in a future patch release. Think of what I demo here as a progress report.

3 Comments

APEX 5.0 Converting to the new APEX Tree

Today I’ll show step by step how to convert from the old APEX tree region, which used the third party jsTree library, to the new APEX 5.0 tree implementation. As I previously mentioned the tree region now uses the same JavaScript tree view widget that is used in Page Designer by default. But if you have an old application that is using the tree region it will continue to use the old jsTree region after upgrading to 5.0.

The reason that the tree region couldn’t be automatically switched to the new tree during upgrade is because of differences in how the implementations use icons/images and complex ways in which customers have customized it with JavaScript by calling jsTree APIs.

3 Comments

APEX 5.0 Page Designer: Meet the Widgets

One of the primary things I worked on for APEX 5.0 is Page Designer. There have been a number of presentations and blog posts about what it is, how to use it, and how it increases productivity. What I want to talk about here is what Page Designer is made of. Page Designer was a huge undertaking and a number of people had their hands in it. I’ll focus on the parts I know best; the widgets.

If you are asking yourself, “Could my APEX application have pages as complex as Page Designer?”, the answer is Yes. The level of effort and skill needed is going to depend on what you are trying to achieve. The point is that Page Designer is not taking advantage of hidden or private APEX engine features. This doesn’t mean that all the building blocks of Page Designer are available for use in your applications but that the facilities are there for you to create and integrate your own building blocks. Knowing a little about the architecture of Page Designer may inspire you to create complex, highly dynamic and interactive pages in your applications.

2 Comments

APEX and Asynchronous Ajax

I rarely read the release notes because I’m in a hurry to get to the good stuff. APEX 5.0 has plenty of good stuff to get to but I want to call your attention to one release note in particular: “Deprecated Synchronous Ajax in Dynamic Actions”

Earlier this year there was an interesting thread on the APEX forums titled Synchronous requests deprecated. It points out that some browsers are now giving warnings (if you have the console open) when synchronous ajax requests are made and, more importantly, that APEX apps that use dynamic actions with Wait For Result set to Yes will make a synchronous request.

1 Comment

APEX 5.0 Icon List widget

[As of this writing, APEX 5.0 is only available as a pre-production version installed on apex.oracle.com and might change until it gets released.]

There are so many new things in APEX 5.0 that it is difficult to decide where to start. So, for no particular reason, I’ll start with the icon list widget, which is something that I worked on. The first place you will most likely run into the icon list widget is in Page Designer. Edit any page and at the bottom of the Grid Layout tab you will see a gallery of Regions, Items, and Buttons. At first glance it looks like an ordinary list of images somewhat like the Badge or Cards list templates in Universal Theme. But there are important behavioral differences mainly around accessibility.

1 Comment