Pretius APEX Enhanced LOV item is powerful combobox to select singular / multiple values in two modes: autocomplete and popup report. The plugin provides high customization possibilities through its attributes.
MIT
https://apex.oracle.com/pls/apex/f?p=111865:1
APEX_ENHANCED_LOV_ITEM.sql
- the plugin package specificationAPEX_ENHANCED_LOV_ITEM.plb
- the plugin package bodyitem_type_plugin_pl_ostrowskibartosz_apex_enhancedlovitem.sql
- the plugin installation file for Oracle APEX 5.1 or higherexample_app.sql
- the plugin example app exported from apex.oracle.com (Oracle APEX 19.1). Application uses emp
table which is available at apex.oracle.com.To successfully install the plugin follow those steps:
APEX_ENHANCED_LOV_ITEM
in the parsing schema of your applicationitem_type_plugin_pl_ostrowskibartosz_apex_enhancedlovitem.sql
PX_NAME
with type set to APEX Enhanced LOV Item [Plug-in]
display
column with alias d
and return
column with alias r
**
the plugin uses aliases d
and r
to recognize which column should be returned and which is general display column. Don't use aliases enclosed with quote character! See example below:
select
e.empno r,
e.ename d,
e.*
from
emp e
Detailed information about how to use every attribute of the plugin is presented in built-in help texts in APEX Application Builder.
General Settings
Autocomplete Settings
Popup Settings
Escape
keyReport Basic Configuration
d
is rendered in popup reportr
is rendered in popup reportDialog Width - popup report dialog has static with given by developer
Each autocomplete event has access through this.data to following information:
{
"prompt": {
"container": jQuery object, //autocomplete container
"header" : jQuery object, //autocomplete header with action menu
"body" : jQuery object, //autocomplete body containing rendered data
"input" : jQuery object //autocomplete search input
},
"mask": {
"selected" : Array, //array of already selected data
"dataAvailable": Boolean //boolean value indicates whether there is data to render
}
};
Each popup report event has access through this.data to following information:
{
"header" : jQuery Object, //reference to container for global search, rows per page and pagination
"container" : jQuery Object, //reference to parent container of popup report
"body" : jQuery Object, //reference to body container of popup report
"footer" : jQuery Object, //reference to container for Show only selecte and button Select
"pagination" : jQuery Object, //reference to container for pagination
"search" : jQuery Object, //reference to input performing search in all columns
"rowsPerPage" : jQuery Object, //reference to select list
"contentTable" : jQuery Object, //reference to result table of data currently rendered
"state" : {
"selected" : Array, //Array of currently selected values in popup
"searchString" : String, //Currently provided search string
"searchColumnIdx" : Number, //Index (starting from 1) of column in SQL Query
"sortedColumnIdx" : Number, //Index (starting from 1) of column in SQL Query
"sortedColumnDirection" : String, //String "asc" / "desc"
"ajaxRunning" : Boolean //If true then AJAX is currently running
}
};
To add new translations use Shared Componentes> Globalization > Text Messages
.
Translation code | Translation text | Introduced |
---|---|---|
PAELI_POPUP_SEARCH_PLACEHOLDER | Enter a search term | |
PAELI_POPUP_BTN_SELECT_TEXT | Select | |
PAELI_POPUP_SHOW_SELECTED_LABEL | Show only selected | |
PAELI_POPUP_TEXT_ROWS_SELECTED | All results (%0) on this page has been selected. | |
PAELI_POPUP_TEXT_NO_DATA_FOUND_SEARCH | No data found for search term "%0". | |
PAELI_POPUP_TEXT_NO_DATA_FOUND_QUERY | Dictionary has no data to render. | |
PAELI_POPUP_TEXT_CLEAR_FILTERING | Click here to clear filtering. | |
PAELI_POPUP_TEXT_UNSAVED_CHANGES | You have selected %0 values. Closing without saving will not save selected values. | |
PAELI_POPUP_TEXT_SEACH_IN_SELECTED | You have filtered %0 row(s) from %1 selected row(s). Click here to get back to all selected rows. |
|
PAELI_POPUP_TEXT_FILTERED_INFO | %0 results found for search term "%1". | |
PAELI_POPUP_TEXT_EXTRA_VALUE | Value "%0" is not within dictionary. | |
PAELI_PROMPT_MENU_EXPAND_TITLE | Show or hide all tags | |
PAELI_PROMPT_MENU_SORT_TITLE | Sort tags | |
PAELI_PROMPT_MENU_CLEAR_TITLE | Clear all selected values | |
PAELI_PROMPT_MENU_PASTE_TITLE | Paste values | v1.1.0 |
PAELI_PROMPT_MENU_POPUP_TITLE | Open popup report | v1.1.0 |
PAELI_PROMPT_TEXT_MINIMAL_INPUT_LENGTH_X | Please enter %0 or more characters. | |
PAELI_PROMPT_TEXT_MINIMAL_INPUT_LENGTH_0 | Start typing to get results. | |
PAELI_PROMPT_TEXT_NO_DATA_FOUND | No data found. | |
PAELI_PROMPT_TEXT_SEARCHING | Searching... | |
PAELI_PROMPT_TEXT_RAPID_SELECTION | Start typing to select more... | |
PAELI_PROMPT_TEXT_LOAD_MORE | Load more... | |
PAELI_TAGS_LIMITED_OTHERS | and %0 more... | |
PAELI_TAGS_LIMITED_0 | %0 selected | |
PAELI_POPUP_PAGINATION_PREV | Previous | |
PAELI_POPUP_PAGINATION_NEXT | Next | |
PAELI_POPUP_PAGINATION_OF | of | v1.1.0 |
PAELI_POPUP_HEADER_SORT_ASC_TITLE | Sort ascending | |
PAELI_POPUP_HEADER_SORT_DESC_TITLE | Sort descending | |
PAELI_POPUP_TEXT_SEARCHING | Waiting for results... | |
PAELI_ERROR_DEBUG_OFF | Please contact application administrator for more information.\nDetailed information available in debug mode. | v1.1.0 |
PAELI_POPUP_PASTE_TEXTAREA_PLACEHOLDER | Values must be separated by a newline character | v1.1.0 |
PAELI_POPUP_PASTE_BTN_PARSE_TEXT | Parse | v1.1.0 |
PAELI_POPUP_PASTE_BTN_CLEAR_TEXT | Clear | v1.1.0 |
PAELI_POPUP_PASTE_BTN_SELECT_TEXT | Apply | v1.1.0 |
PAELI_POPUP_PASTE_BTN_BACK_TEXT | Back | v1.1.0 |
PAELI_POPUP_PASTE_SUMMARY_PASTED_COUNT | Total number of pasted values | v1.1.0 |
PAELI_POPUP_PASTE_SUMMARY_PASTED_LENGHT | Total length of pasted values including separator | v1.1.0 |
PAELI_POPUP_PASTE_SUMMARY_MAX_LENGTH | Maximum length | v1.1.0 |
PAELI_POPUP_PASTE_SUMMARY_VALUES_TO_BE_APPLIED | Number of pasted values to be applied %0 | v1.1.0 |
PAELI_POPUP_PASTE_SUMMARY_VALUES_EXCEEDING_LIMIT | Number of pasted values exceeding the maximum length %0 | v1.1.0 |
PAELI_POPUP_PASTE_SUMMARY_SHOW_LIST_ANCHOR | (show list) | v1.1.0 |
PAELI_POPUP_PASTE_SUMMARY_MAXLENGTH_NOTSET | not set | v1.1.0 |
PAELI_POPUP_PASTE_SUMMARY_TH_VALUES_OUT | Values exceeding maximum length limit | v1.1.0 |
PAELI_POPUP_PASTE_SUMMARY_TH_VALUES_IN | Values ready to be applied | v1.1.0 |
PAELI_POPUP_PASTE_SUMMARY_TH_SUMMARY | Summary | v1.1.0 |
APEX Enhanced LOV Item
to Pretius APEX Enhanced LOV Item
Page load
has been fixed.,PAELI_POPUP_PAGINATION_OF
for pagination is now supportedorder by
clause in provided SQL Query is no longer removed. It fixes bug ORA-00907: missing right parenthesis
when aliases d
, e
, c
, o
has been used in order by
clause,Warn On Unsaved Changes
is supported,htp.prn
instead of htp.p
. No new line \n
character added to item value attribute at the end of string,PL/SQL
all strings inputed via search field is being escaped using APEX_ESCAPE.HTML
- fix for potential XSSPL/SQL
value from session on page load is being escaped using APEX_ESCAPE.HTML
- fix for potential XSSPL/SQL
Rows in which r
columns is null is not available in autocomplete
and popup
mode - value in column r
must be unique and can't be nullJS
Typo in PAELI_POPUP_TEXT_ROWS_SELECTED
has been fixedExample application
supporting objects has been updated (install script fixed, deinstall script created)Plugin
Rapid Selection
attribute is now dependent on the plugin selection mode (multiple / singular). In singular selection unchecked Rapid Selection
attribute results in closing autocomplete after selecting value,Plugin
Custom Autocomplete Template
attribute help text has been updated with reference to this.data.selected
which indicates that particular row is already selected by end-user,Plugin
new component attribute Autocomplete Rows To Fetch
is available to define,Plugin
new component attribute Autocomplete Results Max Height
is available to define,Plugin
in case of new component attributes new translatable text PAELI_PROMPT_TEXT_LOAD_MORE
is now available.PL/SQL
autocomplete pagination (lazy loading) has been fixed to return given number of rows (previously it was duplicating last row from requested set of data)JavaScript
the plugin mask (apex item visualization) is focusable and support keypress
and keydown
events when focused.
Down Arrow Key
results in opening autocompleteminor fixes for first release
Initial Release
Author | Website | Github | ||
---|---|---|---|---|
Bartosz Ostrowski | http://ostrowskibartosz.pl | @bostrowski | @bostrowsk1 | bostrowski@pretius.com, ostrowski.bartosz@gmail.com |
Pretius Sp. z o.o. Sp. K.
Address | Website | |
---|---|---|
Przy Parku 2/2 Warsaw 02-384, Poland | http://www.pretius.com | office@pretius.com |
Pretius provides free support for the plugins at the GitHub platform. We monitor raised issues, prepare fixes, and answer your questions. However, please note that we deliver the plug-ins free of charge, and therefore we will not always be able to help you immediately.
Interested in better support?
Have you found a bug or have an idea of additional features that the plugin could cover? Firstly, please check the Roadmap and Known issues sections. If your case is not on the lists, please open an issue on a GitHub page following these rules:
If you encounter a problem during the plug-in implementation, please check out our demo application. We do our best to describe each possible use case precisely. If you can not find a solution or your problem is different, contact us: apex-plugins@pretius.com.
We consider our plugins as genuine open source products, and we encourage you to become a contributor. Help us improve plugins by fixing bugs and developing extra features. Comment one of the opened issues or register a new one, to let others know what you are working on. When you finish, create a new pull request. We will review your code and add the changes to the repository.
By contributing to this repository, you help to build a strong APEX community. We will prioritize any issues raised by you in this and any other plugins.
We are happy to share our experience for free, but we also realize that sometimes response time, quick implementation, SLA, and instant release for the latest version are crucial. That’s why if you need extended support for our plug-ins, please contact us at apex-plugins@pretius.com. We offer: