Jorge Rimblas
Senior Principal
Global systems integrator focused on the Oracle platform
Established in August, 2004
Joined Accenture June, 2014
Headquartered in Dallas, Texas
Consultants average 15+ years of Oracle experience
Worldwide leader in Exadata implementations
12 Oracle ACE members
Browser events
Dynamic Action Structure
Demos
AJAX
Advanced Dynamic Actions
(this means changing the HTML)
(this means changing the CSS and Styles)
Client Side
Server Side
4.2
5.0
APEX
4.2
APEX
5.0
APEX 5
More about this later
[Optional Client Side Condition]
[Affected Elements]
[Affected Elements]
[Optional Client Side Condition]
APEX view
When will the Dynamic Action execute?
On click
On item (data) change
On Focus
On Page Load
On (any) browser event
etc
Where will the event happen?
Where will the event happen?
Item(s)
Button
Region
jQuery Selector
JavaScript Expression
P11
P20
P20
Sometimes a good alternative to Hide & Show
P25
Condition
Condition
P30
$s("{ITEM}", "{VALUE}");
// Set to today
$s("P30_LOG_DATE", "&P30_TODAY.");
// Clear date
$s("P30_LOG_DATE", "");
Equivalent to $s API
P40
Event
Set Value action
this.triggeringElement.value
.toUpperCase()
.replace(/\s+/g, '_')
.substring(0, 20);
P110
asynchronous JavaScript and XML
group of interrelated Web development techniques used on the client-side to create asynchronous Web applications
Wikipedia: en.wikipedia.org/wiki/Ajax_(programming)
Client Side
Server Side
AJAX
JavaScript
SQL
PL/SQL
It's easy!
P215
insert into app_user_roles
( username
, role_key)
values
( :P215_USERNAME
, :P215_ROLE_KEY);
delete
from app_user_roles
where id = :P215_UR_ID;
this.triggeringElement.getAttribute("data-id");
this.triggeringElement.dataset.id
this.triggeringElement.dataset.id
// data-id="{value}"
this.triggeringElement.dataset.id
// data-active="YES"
this.triggeringElement.dataset.active
// data-selected="YES"
this.triggeringElement.dataset.selected
// data-lineID="123"
this.triggeringElement.dataset.lineID
// data-rownum="2"
this.triggeringElement.dataset.rownum
this.triggeringElement
this.browserEvent
this.data
Available inside the DA JavaScript
var el = this.triggeringElement;
var $el = $(this.triggeringElement);
this.triggeringElement.value
.toUpperCase()
.replace(/\s+/g, '_')
.substring(0, 20);
APEX 4.2
APEX 5.0
Thursday Deep Dive
9 - 11 am
Easy Prototyping with triggeringElement
(rimblas.com/blog/2014/06/easy-prototyping-when-using-apex-da-triggeringelement/)
Jorge Rimblas