Pretius APEX Enhanced LOV Item v1.1.0 supports Interactive Grid!

About new version

New version v1.1.0 (download from apex.world) introduces new features such as interactive grid support, pasting multiple values from excel and floating template support. The plugin is more stable, bugs raised by users have been fixed. Read the full article to learn about all the changes I have implemented.

New features at a glance

Interactive Grid support

Interactive Grid support was planned from the very beginning. The previous versions had invalid plugin configuration (possibility to use it in IG) which was misleading – the plugin wasn’t supporting IG at all.

Unfortunately, there is not enough description from Oracle API docs about steps needed to make the item plugin compatible with Interactive Grid. Using trial and error, combining available docs, hints I’ve managed to make the plugin support Interactive Grid.

At this point, I want to thank Menno Hoogendijk for his plugin Modal LOV which was very helpful in understanding how he made his plugin work with Interactive Grid. Also, I want to thank John Snyders for hints regarding meta data procedure which was essential for multiple values support in Interactive Grid.

What you can expect from the plugin in the Interactive Grid? Everything you have been using in standalone items. You can take advantage of autocomplete, popup report and multiple values selection.

Autocomplete in Interactive Grid
Popup report in Interactive Grid
Multiple values in Interactive Grid

However, there might be still minor issues regarding Interactive Grid thus I hope you will help me by rising issues at GitHub repository.

Multiple values from excel column support

The progenitor of this plugin (which was also called Pretius APEX Enhanced LOV item) had functionality allowing users to paste multiple values copied from the excel spreadsheet column. This release introduces interface supporting pasting multiple values but not directly into the autocomplete field (as it was in the progenitor plugin) but using a special popup.

Pasting multiple values copied from excel spreadsheet column

Pasting multiple values uses the max length attribute of APEX item to determine how many pasted values (including value separator) can be applied to the item. When the max length is not set then there is no limit.

At the moment, to be able to invoke paste dialog, the Autocomplete needs to be enabled along with Multiple Selection in the plugin Settings attribute.

The new functionality requires new translation messages and as always they can be translated via Oracle APEX Globalization / Text messages. You can check and copy the list of new codes from GitHub readme file.

New translations messages

Enhancements

Version v1.1.0 is crucial in terms of code quality. Because the plugin JavaScript contains ~8 000 lines of code I’ve started refactoring the code which will provide a better understanding for developers maintaining their own changes to the plugin.

Of course, there are other enhancements like CSS fixes (item border color) and UI changes (placeholder is visible in item mask). Below I’ve described more important enhacements.

Debug JavaScript

Debugging the plugin has changed in terms of readability. Starting with version v1.1.0 you can expect different and more clear log messages in the browser console. JavaScript debug messages respects available debug levels

  • INFO,
  • APP_TRACE,
  • ENGINE_TRACE

and display more detailed messages according to the higher debug level. See samples below to get a grasp of what you can expect from higher debug levels.

Debug level INFO
Debug level APP_TRACE
Debug level ENGINE_TRACE

Debug the plugin PL/SQL

In the case of PL/SQL you can now find information about the plugin AJAX calls in APEX View Debug. You will learn what bind variables were used and you will be able to inspect the current SQL query that was used to fetch data in an autocomplete or popup report.

Example debug for AJAX calls

Autocomplete toolbar

The toolbar in autocomplete mode has been enhanced with two new icons for pasting values and opening popup report. Icons visibility is dependent on the plugin configuration.

  • the first icon is available only when the plugin supports Multiple Selection and its role is to open an inline dialog allowing to paste multiple values
  • the second icon is available only when Popup Report is enabled and it serves the role of shortcut to open popup report from autocomplete
The plugin toolbar with new icons

Additionally, the toolbar can be hidden just by checking the new attribute Autocomplete Settings / Hide Toolbar.

Popup report not flickering when fetching data

Visualization of paginating, filtering and sorting the report in popup mode has been changed. Popup elements such as items, buttons, and report are disabled instead of being hidden while the plugin performs AJAX calls.

Pretius APEX Enhanced LOV Item v1.1.0
Pretius APEX Enhanced LOV Item v1.0.4

Bugs fixed

Since the last release the plugin users raised issues at GitHub (thank you all) and thanks to this I was able to make the plugin more reliable.

Cascading LOV issues

  • the plugin doesn’t crash when APEX item is dependent on more than one parent APEX item.
  • the plugin doesn’t crash on page load when it tries to fetch display values for an item that is dependent on other items

Inline Dialog issue

The plugin autocomplete is displayed correctly, not behind the inline dialog.

Warn on Unsaved Changes support

  • the plugin respects Warn on Unsaved Changes page/item attribute
  • empty (null value) plugin instance doesn’t raise confirm window when user wants to leave a page without doing any changes to an item value

Order by issue

The plugin doesn’t remove order by clause from an item List of Values / SQL Query. Previously it was rasing error in particular scenarios:

ORA-00907: missing right parenthesis

LOV Null Value

Null values are properly handled on page load and don’t disappear after sending item value to APEX session.

What you can expect in the near future?

There is plenty of things to implement and the roadmap looks like this

  •  Interactive GRID support
  •  Floating label template
  •  Support for pasting values (for example from Excell file)
  •  RTL support
  •  Mobile devices support
  •  Show only selected in autocomplete mode
  •  Different types of pagination in popup report
  •  Creating new values in autocomplete mode
  •  Oracle APEX Theme roller integration
  •  Keyboard shortcuts
  •  Highlighting search term in autocomplete
  •  Columns order configurable in JSON
  •  Grouping in autocomplete and popup report

The order of bullets is random and the roadmap should be enhanced with new bullets:

  • refactoring the code (each release)
  • enhancing debugging the plugin (JS & PL/SQL)
  • refactoring the plugin attributes
    • Limit Displayed Tags should be configurable when autocomplete is disabled
  • built-in validation function dependent on the plugin configuration (max length attribute)
  • autocomplete / popup report selection respecting max length attribute
  • better error handling in case of invalid configuration

I will be focusing on better support for Interactive Grid because I expect feedback from you after the release. I’m aware there are plenty of scenarios that I haven’t tested but with your help, I will make the plugin more stable and reliable!

At the same time, I will be working on features such as grouping / adding new values in autocomplete so the plugin can be used as the replacement for the Select2 plugin.

Hope you like the release and I encourage you to raise feature request and raise bugs at Github repository! Feel free to post a comment here too (you can use LinkedIn or Twitter account to sing up)!

Please remember to provide information about

  • APEX version
  • the plugin version
  • link to apex.oracle.com with a recreated use case scenario (I will need developer credentials so I can inspect the use case)
  • screenshots if needed

Ps.
If you do use the plugin and you like it please help me promote it by giving it a like at apex.world!

Ostrowski Bartosz

Oracle APEX Developer @PretiusSoftware

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *