Skip to main content

Formatting a Download Link

Providing file upload and download capabilities has been native functionality in APEX for a couple major releases now. In 5.0, it's even more streamlined and 100% declarative.
In the interest of saving screen real estate, I wanted to represent the download link in an IR with an icon - specifically fa-download. This is a simple task to achieve - edit the column and set the Download Text to this:
<i class="fa fa-lg fa-download"></i>
The fa-lg will make the icon a bit larger, and is not required. Now, instead of a "download" link, you'll see the icon rendered in each row. Clicking on the icon will download the corresponding file. However, when you hover over the icon, instead of getting the standard text, it displays this:
2016 01 13 16 28 16
Clearly not optimal, and very uninformative. Let's fix this with a quick Dynamic Action. I placed mine on the global page, as this application has several places where it can download files. You can do the same or simply put on the page that needs it.
The Dynamic Action will fire on Page Load, and has one true action - a small JavaScript snippet:
$(".fa-download").prop('title','Download File');
This will find any instance of fa-download and replace the title with the text "Download File":
2016 01 13 16 28 43
If you're using a different icon for your download, or want it to say something different, then be sure to alter the code accordingly.

Comments

Mathieu said…
Hello Scott,

It is even nicer if you make your tooltip text translatable.
You have to create an APEX text message (don't forget "use in javascript" = Yes) for the languages needed.

Change the dynamic action like this:
var gTitle = apex.lang.getMessage("DOWNLOAD_FILE_TEXT");
$(".fa-download").prop('title',gTitle);

Regards,

Mathieu

Popular posts from this blog

Custom Export to CSV

It's been a while since I've updated my blog. I've been quite busy lately, and just have not had the time that I used to. We're expecting our 1st child in just a few short weeks now, so most of my free time has been spent learning Lamaze breathing, making the weekly run to Babies R Us, and relocating my office from the larger room upstairs to the smaller one downstairs - which I do happen to like MUCH more than I had anticipated. I have everything I need within a short walk - a bathroom, beer fridge, and 52" HD TV. I only need to go upstairs to eat and sleep now, but alas, this will all change soon... Recently, I was asked if you could change the way Export to CSV in ApEx works. The short answer is, of course, no. But it's not too difficult to "roll your own" CSV export procedure. Why would you want to do this? Well, the customer's requirement was to manipulate some data when the Export link was clicked, and then export it to CSV in a forma...

Manipulating Images with the... Database?

A recent thread on the OTN HTML DB Forum asked about how to determine the width & height of an image stored as a BLOB in an Oracle table. I mentioned in that thread that I have some code to manipulate an image stored in a BLOB column. This is particularly useful if you’re going to let users upload images, and you want to re-size them to display as a thumbnail. Thanks to Oracle interMedia , it is trivial to manipulate the width, height, and other attributes of images stored in an Oracle table. I’ve created a sample application here which demonstrates Oracle interMedia and HTML DB in action. Feel free to have a look. You can download this application from HTML DB Studio as well. Basically, this application allows you to upload images and perform an operation on the image as it is inserted into the PHOTO_CATALOG table. There are two places where some PL/SQL code is required: an After Submit process on page 2, and a procedure to display the images. Here is the PL/SQL for the After...

Oracle 10g eXpress Edition

Lots of activity about Oracle XE over the past couple of days ! I figure that I just wouldn't be "cool" if I didn't weigh in on the topic, so here goes: Brilliant! Here's why: Pure simplicity. Take the situation which happened today: I download Oracle XE and go to install it on my laptop. Download took about 1 minutes, install another 4-5, and I'm was up & running, HTML DB and all.* My officemate, at about the same time, decided to install Oracle Enterprise Edition and HTML DB on his laptop, just so he could learn HTML DB and perhaps close a piece of our production environment. Needless to say, the download of 10gR2 alone took longer than the install of XE. I was gleefully clicking away, while he sat there, counting the bits as they flew by. This is one of the largest benefits of Oracle XE – small, compact size with most of the power of the Oracle Database. While Oracle software has always been available for anyone to download, what was the us...