A modular browser extension that enhances Oracle JET <oj-data-grid> timecards with configurable features. Users can toggle enhancements on/off and customize settings through an intuitive interface.
- Automatically calculates and displays total hours in the bottom-right corner
- Parses "X hours" strings from row totals and sums them
- Updates dynamically when the timecard changes
- Applies subtle background shading to weekend columns (Saturday & Sunday)
- Customizable shade color through options page
- Helps visually distinguish weekends from weekdays
- Applies subtle background shading to alternate rows for improved readability
- Automatically coordinates with weekend shading (weekend columns take priority)
- Customizable shade color through options page
- Helps visually track data across rows in large timecards
- Replaces static weekly red lines with a single dynamic red line
- Red line appears before the current date column
- Updates automatically based on your local system date
- Provides better visual context for today's timecard entry
- Popup Interface: Quick toggle switches for each enhancement
- Options Page: Advanced settings and customization
- Persistent Settings: User preferences saved and synchronized
- Modular Design: Easy to add new enhancements
- This extension is available for download as a Chrome extension via this link on the Chrome Web Store
- This extension is available for download as a Firefox extension via this link on the Firefox Add-ons Browser
- Clone this repository to your local machine
- Open Chrome →
chrome://extensions/ - Enable Developer mode (toggle in top right)
- Click Load unpacked and select the project folder
- Clone this repository to your local machine
- Open Firefox →
about:debugging - Click This Firefox in the left sidebar
- Click Load Temporary Add-on and select
manifest.json
Note: Firefox temporary add-ons are removed on restart.
- Clone this repository to your local machine
- Open Edge → Click the three-dot menu in the top-right corner → Extensions → Manage extensions
- Toggle Developer mode to On (lower-left corner of the Extensions page)
- Click Load unpacked and select the project folder (must contain the manifest.json file)
- Navigate to your Oracle timecard page
- Click the extension icon to access quick toggles
- Right-click the icon → "Options" for advanced settings
- Configure which enhancements you want enabled
To add a new enhancement:
- Create a new enhancement class extending the base Enhancement class:
class MyNewEnhancement extends Enhancement {
constructor() {
super('my-enhancement', 'Description of what it does', true);
}
async onInit() {
// Initialize your enhancement
}
async onUpdate() {
// Handle DOM updates
}
async onCleanup() {
// Clean up when disabled
}
}- Register it in
src/content-main.js:
manager.registerEnhancement(new MyNewEnhancement());- Add to manifest.json if you created a new file:
"js": [
"src/enhancements/base.js",
"src/enhancements/my-new-enhancement.js",
// ... other files
]- Shade Color: Customize the background color for weekend columns
- Default: Light gray (
rgb(251,249,248))
- Shade Color: Customize the background color for alternate rows
- Default: Light gray (
rgb(245,254,255))
- Red Line Color: Customize the color of the dynamic red line
- Default: Oracle red (
rgb(214,45,32))