PROGRAMMING OVERVIEW AND USER INTERFACE
Examples: Hotspots
1. This JavaScript code shows an alert when activated by the onClick event of a button or action hotspot.
alert("This is the alert box.")
2. This JavaScript code prompts the user for his or her name when activated by the onClick event of a button or action hotspot.
var message
var defaultanswer
message = "Please enter your name:";
defaultanswer = myForm.from.value;
result = prompt(message, defaultanswer);
if(result) {
myForm.results.value = result;
}
3. This JavaScript example could be attached to the onClick event for a button or action hotspot. It determines how a mail message is delivered. For "bugs," the mail is directed to "SprManager." Other requests are directed to "WishListManager." The final line in this script launches mail.
var isBug = confirm("Are you reporting a bug?");
var recipient = isBug? "SprManager@xyz.com" : "WishListManager@xyz.com";
document.location = "mailto:" + recipient;
4. This LotusScript button or action hotspot is useful in a mail message to a group of persons. When the recipient clicks the hotspot, the script sends a mail message indicating "Yes" or "No" for the "RSVP." For testing, the name of the current user is used -- in practice, you would use your name. Compare with the next example, which uses a formula solution.
'(Declarations)
Const MB_YESNO = 4
Const MB_ICONQUESTION = 32
Const IDYES = 6
'(Click event)
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set doc = New NotesDocument(db)
yesno = Messagebox _
("Do you want to attend?", MB_YESNO+MB_ICONQUESTION)
If yesno = IDYES Then rsvp = "Yes" Else rsvp = "No"
Call doc.AppendItemValue("Subject", "RSVP")
Call doc.AppendItemValue("Body", rsvp)
Call doc.Send(True, session.UserName)
End Sub
5. This formula button or action hotspot is useful in a mail message to a group of persons. When the recipient clicks the hotspot, the formula sends a mail message indicating "Yes" or "No" for the "RSVP." For testing, the name of the current user is used -- in practice, you can use your name. Compare with the previous example, which uses a LotusScript solution.
yesno := @Prompt([YESNO]; "RSVP"; "Do you want to attend?");
rsvp := @If(yesno; "Yes"; "No");
@MailSend(@UserName; ""; ""; "RSVP"; ""; rsvp; "")
6. This LotusScript button or action hotspot displays the sum of all OrderTotal fields in a database for one day. Each record in the database has OrderNumber, Date, and OrderTotal fields. The script finds all the documents in the database, then uses a loop and a comparison of dates to limit processing to today's documents. For each document, the script adds the OrderTotal to a dailyTotal variable.
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Set db = session.CurrentDatabase
Set dc = db.AllDocuments
dailyTotal = 0
Set doc = dc.getFirstDocument
While Not(doc Is Nothing)
odate = doc.Date
dn = Datenumber(Year(odate(0)), _
Month(odate(0)), Day(odate(0)))
orderNumber = doc.OrderNumber
If dn = Today _
And orderNumber(0) <> "DAILY TOTAL" Then
orderTotal = doc.OrderTotal
dailyTotal = dailyTotal + orderTotal(0)
End If
Set doc = dc.getNextDocument(doc)
Wend
Messagebox Format(dailyTotal, "Currency")
End Sub
7. This action hotspot is part of a navigator. The formula prompts the user and opens a view selected by the user.
view := @Prompt([OKCANCELLIST]; "Which view do you want to open?"; ""; ""; "By first name" : "By last name");
@Command([OpenView]; view)
8. This formula shows "pop-up text from a formula." You can highlight as a hotspot the following text on a form: "Please note your user name and the current date and time." The formula associated with the hotspot would evaluate to a text string containing the necessary information.
"Your user name is " + @UserName + @NewLine + "The date and time are " + @Text(@Now)
See Also
Hotspots
Glossary
Feedback on
Help
or
Product Usability
?
Help on Help
All Help Contents
Glossary