Referenced on Apex Ideas App Implementations — Implement Edition
The Quick Pick functionality for list-based items has been enhanced. We can now configure Quick Picks using options:
- Static - The quick picks are based on the static labels and values entered.
- SQL Query - The quick picks are based on the SQL query entered.
- Maximum Displayed Entries - The maximum displayed entries that will be rendered.
- Link Attributes - Enter HTML attributes that are associated with the display of each Quick Pick link.
Type → SQL Query
Query:
SELECT DISTINCT DNAME D, DEPTNO R FROM DEPT
Maximum Displayed Entries: 4
Link Attributes:
class="my-quickpick"
Inline CSS (Pill shape UI):
.my-quickpick {
display: inline-block;
padding: 6px 14px;
margin: 9px 4px 2px 0;
border: 1px solid #d0d0d0;
border-radius: 20px; /* makes it pill shape */
background-color: #f8f8f8;
color: #333 !important;
text-decoration: none;
font-size: 12px;
font-weight: 500;
transition: all 0.2s ease;
}
Interactive Report columns now support CSS Classes, making it easier to style column content without relying on HTML Expressions to wrap values. Simply assign one or more existing CSS classes to the column, separating multiple class names with spaces, to customize the appearance directly.
Appearance > CSS Class: u-bold u-color-17
Custom class: ir-css-bg1
Inline CSS:
.ir-css-bg1 {
background-color: #FFC0CB;
opacity: 0.3;
}
Dynamic Actions can now be incorporated directly into actions within the Cards region. Trigger Actions allow us to define Dynamic Actions directly for actions, buttons, cards, and menus within the Page Designer tree.
For actions in multi-row regions, we can access row-specific column values by enabling the Available on Client attribute. These values can then be referenced using JavaScript syntax such as $v('COLUMN_NAME'), or by using substitution syntax like &COLUMN_NAME. in success and error message actions. These row-level values remain available only during the execution of the triggered action set.
Additionally, column values can be passed to the server using Items to Submit and Items to Return. For enhanced security, we can enable the Value Protected setting when working with client-available values.
Buttons now include two new default properties: Type and Show as Disabled.
Button Type
The Type property now provides the following options:
- Standard - A regular button that can submit the page, redirect to a specified location, or trigger Dynamic Actions.
- Menu - A button that opens a menu containing defined Menu subcomponents. Menu supports three entry types:
- Menu Entry - A selectable menu item that executes an action.
- Sub-Menu - Groups multiple menu entries under a nested menu. A sub-menu itself cannot execute an action.
- Separator - Used to visually divide menu entries into groups. Separators are automatically hidden if there is no adjacent menu entry.
Show as Disabled
The Show as Disabled option allows buttons or menu entries to be rendered as disabled instead of being hidden when the defined Server-side Condition evaluates to FALSE.
We can now run APEX applications directly from both the Global Page and Modal Dialogs using Save and Run.
- Global Page: When Save and Run is used on a Global Page, the currently active page is reloaded, including any open modal dialogs. If no page is currently running, the application's main page (Home or Login) will open.
- Modal Dialog: When Save and Run is used on a Modal Dialog, the dialog itself is refreshed. If no modal dialog is currently open, the active page will reload. If there is no active page, the application's main page (Home or Login) will be launched.
This enhancement makes it easier to test and preview changes directly while working on shared components and dialog pages.
The Fire on Page Initialization option is now hidden for Page Load Dynamic Actions, removing an unnecessary setting that does not affect application behavior. This helps simplify configuration and avoids confusion by displaying only relevant options.
OAuth2 now includes several enhancements:
- Client Credentials Flow now supports Refresh Tokens, allowing tokens to be renewed without requiring repeated authentication.
- Web Credentials now support a new authentication type: OAuth2 Password Flow, which allows passing a username and password along with an optional Client ID and Client Secret.
- Both OAuth2 Password Flow and OAuth2 Client Credentials now include a new Token Authentication Method attribute, which lets us define how the Client ID and Client Secret are sent to the token server.
These enhancements provide greater flexibility when configuring and managing OAuth2-based authentication in APEX.
With row selection enabled, we can retrieve values based on the configured Primary Key Column, making it easier to work with selected records programmatically.
Additionally, we can configure a Selection Page Item in the Row Selector settings. Based on the selected rows, the corresponding primary key values are automatically set into the configured page item.
- For single row selection, the selected primary key value is stored directly in the page item.
- For multiple row selection, the values are stored as colon-separated values.
- If multiple columns are marked as Primary Key, the selected values are stored in a structured format such as
["PrimaryValue1","PrimaryValue2"].
Selected row values can also be copied to the clipboard for quick reuse.
SQL Workshop includes the following enhancements in this release:
- SQL Commands now support executing SQL blocks based on the cursor position. If we select a query in the editor and press Ctrl+Enter (Windows) or Cmd+Enter (Mac), only the selected query will run. If no query is selected, APEX automatically executes the SQL block surrounding the current cursor location.
- SQL Developer Web is now directly accessible through a new entry in the SQL Workshop home page task list, providing quicker access to advanced database development tools.
Clipboard Enhancements
- Empty virtual columns, including the Actions button column, are no longer copied to the clipboard.
- The selection row header is copied only when it contains text.
- Copy now preserves hyperlinks when:
- the column metadata includes a URL property, or
- the column uses
linkTargetColumn.
- Paste now preserves links when the pasted value is a URL and the target column is configured with
linkTargetColumn. - More content types can now be copied to the clipboard, including:
- Read-only cells
- Header and group header rows/cells
- Aggregate rows/cells
- Control break rows/cells
Selection and Navigation Improvements
- The Selection Actions button is now always accessible via keyboard tab navigation, and focusing it no longer makes the header cell the current cell.
- In Cell Selection mode:
- Ctrl + Space selects all cells in a column.
- Shift + Space selects all cells in a row.
- Ctrl + A (Cmd + A on Mac) selects all cells.
- Row selection headers can no longer be selected.
- Cell range selection can now include aggregate rows.
- Selected rows and columns are visually highlighted through updated header styling.
- With virtual scroll pagination, selecting unloaded cells displays a Load All link in the footer, similar to row selection mode.
Editing and Keyboard Behavior
- A progress spinner is now displayed when bulk operations such as Copy Down, Fill, Clear, or Paste take longer to complete.
- In Cell Selection mode, inserting a new record adds it after the current row.
- Insert and Delete keyboard actions now trigger the Interactive Grid actions
selection-add-rowandselection-delete, enabling more reliable advanced customization. - Row header sequence (when enabled using the JavaScript
rowHeaderoption) now automatically updates for inserted and deleted records. The internaldata-rownumrow attribute is also updated accordingly.
Badge support for buttons using a custom data-count attribute.
Button -> Custom Attributes -> data-count=3
Previously, Interactive Report had an output limit of 32K per row. With this release, the output generation process has been refactored, removing this limitation and allowing larger row data to be handled without the previous 32K restriction.
Include a "Show Wait Popup" property in Execute Server-side Code actions.
Editable Interactive Grids now support enhanced clipboard functionality, making it easier to work with tabular data across applications.
Available clipboard actions include:
- Copy - Copies the selected data to the clipboard.
- Cut - Copies the selected data to the clipboard and removes it from the editable Interactive Grid.
- Paste - Pastes clipboard data into the grid, replacing existing cell values.
- Paste Insert - Inserts new row(s) and pastes the clipboard data into those rows.
- Drag and Drop Support - Allows us to drag and drop a range of cells directly from spreadsheets or other applications that support tabular data drag-and-drop.
- Show Success Message - Displays a success message directly on the page.
- Show Error Message - Displays an error message on the page, with an option to Clear Errors to remove any existing error messages before showing a new one. This is especially useful when multiple time buttons can trigger validations, ensuring previous errors are cleared so that only the latest relevant error message is displayed, avoiding multiple stacked error messages on the page.
In Page Search, instead of deleting characters one by one, we can use the Esc key to clear the entire search text at once.
Select One, Select Many, Combobox, and Autocomplete items now support an infinite scroll-like pattern so that users have the option of seeing all results without being limited by the Maximum Values in List property.
Create position footer for regions inside inline dialog and inline drawer.
We can now use the Set Value functionality for hidden columns in Interactive Grid.
When copying a page, APEX now automatically updates the page item names referenced in JavaScript to match the new page's item names. Previously, after copying a page, developers had to manually update page item references in JavaScript wherever they were used. With this enhancement, those references are corrected automatically, reducing manual effort and helping prevent errors.
The Drawer Page now includes an Open Style option, allowing developers to choose how the drawer appears on the screen.
Available open style options include:
- Top - Opens the drawer from the top.
- Bottom - Opens the drawer from the bottom.
- Start - Opens the drawer from the starting side (left in left-to-right layouts).
- End - Opens the drawer from the ending side (right in left-to-right layouts).
Comments
Post a Comment