Button is element for user to interact. On button click we can call some rest API or show some message.
< oj-button label = " Download " >
</ oj-button >
Link for viewing the buttons code with styles – https://khalil232.com/apps/ojet-apps/?ojr=button
Here are few buttons which I regularly use
Code for button with icon
< oj-button label = " Download " >
< span class = " oj-ux-ico-download " slot = " startIcon " ></ span >
</ oj-button >
Toolbar buttons Add row, Edit Row, Delete Row buttons ( generally used above a table or for each loop )
< div class = " oj-flex " >
< oj-toolbar chroming = " solid " class = " oj-flex-item oj-sm-12 oj-md-12 " >
< oj-button label = " Add " class = " oj-button-sm " >
< span class = " oj-ux-ico-plus " slot = " startIcon " ></ span >
</ oj-button >
< oj-button label = " Edit " class = " oj-button-sm " >
< span class = " oj-ux-ico-edit " slot = " startIcon " ></ span >
</ oj-button >
< oj-button label = " Delete " class = " oj-button-sm " >
< span class = " oj-ux-ico-trash " slot = " startIcon " ></ span >
</ oj-button >
</ oj-toolbar >
</ div >
Save and cancel button in dialog box
< oj-dialog dialog-title = " Dialog " id = " add-dialog " initial-visibility = " show " >
< div slot = " body " >
< div class = " oj-flex " >
< div class = " oj-flex-item oj-sm-12 oj-md-12 " >
< oj-form-layout >
< oj-input-text label-hint = " Text " ></ oj-input-text >
</ oj-form-layout >
</ div >
</ div >
</ div >
< div slot = " footer " >
< oj-button label = " Save " class = " oj-button-sm " chroming = " callToAction " >
< span class = " oj-ux-ico-save " slot = " startIcon " ></ span >
</ oj-button >
< oj-button label = " Cancel " class = " oj-button-sm " >
< span class = " oj-ux-ico-close " slot = " startIcon " ></ span >
</ oj-button >
</ div >
</ oj-dialog >
Close button ( for message only dialog box )
< oj-dialog dialog-title = " Dialog " id = " add-dialog " initial-visibility = " show " >
< div slot = " body " >
< div class = " oj-flex " >
< div class = " oj-flex-item oj-sm-12 oj-md-12 " >
Form Submitted successfully.
</ div >
</ div >
</ div >
< div slot = " footer " >
< oj-button label = " Close " class = " oj-button-sm " >
< span class = " oj-ux-ico-close " slot = " startIcon " ></ span >
</ oj-button >
</ div >
</ oj-dialog >
Inline action items of table ( to provide inline edit or inline delete or to view more details )
< div class = " oj-flex " >
< oj-table scroll-policy = " loadMoreOnScroll " class = " oj-flex-item oj-sm-12 oj-md-12 "
data = " [[$variables.employeeListSDP]] "
columns = ' [{"headerText":"Id","field":"id"},{"headerText":"empNumber","field":"empNumber"},{"headerText":"empName","field":"empName"},{"headerText":"Action","field":"","template":"Action"}] ' >
< template slot = " Action " >
< oj-button label = " Edit " class = " oj-button-sm " >
< span class = " oj-ux-ico-edit " slot = " startIcon " ></ span >
</ oj-button >
< oj-button label = " Delete " class = " oj-button-sm " >
< span class = " oj-ux-ico-trash " slot = " startIcon " ></ span >
</ oj-button >
</ template >
</ oj-table >
</ div >
For inline navigation to a different page give link instead of button
< div class = " oj-flex " >
< oj-table scroll-policy = " loadMoreOnScroll " class = " oj-flex-item oj-sm-12 oj-md-12 "
data = " [[$variables.employeeListSDP]] "
columns = ' [{"headerText":"Id","field":"id"},{"headerText":"empNumber","field":"empNumber"},{"headerText":"empName","field":"empName"},{"headerText":"departmentNumber","field":"departmentNumber"},{"headerText":"departmentNumberObject","template":"department"}] ' >
< template slot = " department " >
< oj-bind-if test = " [[ $current.row.departmentNumberObject.count > 0 ]] " >
< a target = " _blank " class = " oj-link " >
< oj-bind-text value = " [[$current.row.departmentNumberObject.items[0].name]] " ></ oj-bind-text >
</ a >
</ oj-bind-if >
</ template >
</ oj-table >
</ div >
In Form Save Cancel buttons ( Don’t give reset here ) as forms could be long and accidently clicking will remove all data
< div class = " oj-flex " >
< div class = " oj-flex-item oj-sm-12 oj-md-4 " >
< oj-form-layout class = " oj-formlayout-full-width " direction = " row " label-edge = " inside " columns = " 2 " label-width = " 45% " user-assistance-density = " compact " >
< oj-label-value colspan = " 2 " label-edge = " start " >
< oj-label for = " name-input " slot = " label " > Name </ oj-label >
< oj-input-text id = " name-input " slot = " value " ></ oj-input-text >
</ oj-label-value >
< oj-label-value colspan = " 2 " label-edge = " start " >
< oj-label for = " city-input " slot = " label " > City </ oj-label >
< oj-input-text id = " city-input " slot = " value " "></ oj-input-text >
</ oj-label-value >
< oj-button label = " Save " class = " oj-button-sm oj-button-full-width " >
< span class = " oj-ux-ico-save " slot = " startIcon " ></ span >
</ oj-button >
< oj-button label = " Cancel " class = " oj-button-sm oj-button-full-width " >
< span class = " oj-ux-ico-close " slot = " startIcon " ></ span >
</ oj-button >
</ oj-form-layout >
</ div >
</ div >
In Search ( Search, Reset, Cancel ) ( Reset should reset the form to how it is shown on page load )
< div class = " oj-flex " >
< div class = " oj-flex-item oj-sm-12 oj-md-4 " >
< oj-form-layout class = " oj-formlayout-full-width " direction = " row " label-edge = " inside "
user-assistance-density = " compact " >
< oj-label-value label-edge = " start " label-width = " 35% " >
< oj-label for = " name-input " slot = " label " > Name </ oj-label >
< oj-input-text id = " name-input " slot = " value " ></ oj-input-text >
</ oj-label-value >
< oj-label-value label-edge = " start " label-width = " 35% " >
< oj-label for = " city-input " slot = " label " > City
</ oj-label >
< oj-input-text id = " city-input " slot = " value " "></ oj-input-text >
</ oj-label-value >
< oj-button label = " Search " class = " oj-button-sm " chroming = " callToAction " >
< span class = " oj-ux-ico-search " slot = " startIcon " ></ span >
</ oj-button >
< oj-button label = " Reset " class = " oj-button-sm " >
< span class = " oj-ux-ico-reset-variable " slot = " startIcon " ></ span >
</ oj-button >
</ oj-form-layout >
</ div >
</ div >
Commonly used buttons and icons
Download - < span class = " oj-ux-ico-download " ></ span >
Submit - < span class = " oj-ux-ico-check " ></ span >
Save - < span class = " oj-ux-ico-save " ></ span >
Reset - < span class = " oj-ux-ico-reset-variable " ></ span >
Clear - < span class = " oj-ux-ico-close " ></ span >
Add - < span class = " oj-ux-ico-plus " ></ span >
Edit - < span class = " oj-ux-ico-edit " ></ span >
Delete - < span class = " oj-ux-ico-trash " ></ span >
Upload - < span class = " oj-ux-ico-upload " ></ span >
View - < span class = " oj-ux-ico-view " ></ span >
Link for VBCS icons – https://static.oracle.com/cdn/fnd/gallery/2401.0.0/images/preview/index.html