JavaScript™ libraries
A JavaScript™ library allows you to store classes, functions, and variables for common use within an application. A JavaScript™ library is either a client library or a server library.
Script libraries reside under Code in the
Applications Navigator. You edit a JavaScript™ library
like any JavaScript™ code
element. However a JavaScript™ library
typically contains functions for use in other code elements. Here
is a server library named
sl1
that contains one function:// Create document with subject item
// XPage must have edit box bound to requestScope.subject to get value of subject
// XPage must have computed field bound to requestScope.status
function cdoc() {
var doc = database.createDocument();
doc.replaceItemValue("subject", requestScope.subject);
doc.save();
requestScope.status = "document created"
}
Here is an XPage with a button that imports and calls the library
function:
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:inputText id="inputText1" value="#{requestScope.subject}"></xp:inputText><xp:br></xp:br>
<xp:button value="create" id="button1">
<xp:eventHandler event="onclick" submit="true" refreshMode="complete">
<xp:this.action><![CDATA[#{javascript:import sl1;
cdoc()}]]></xp:this.action>
</xp:eventHandler>
</xp:button> <xp:br></xp:br>
<xp:text escape="true" id="computedField1" value="#{requestScope.status}"></xp:text>
</xp:view>
The import
statement is not necessary if you make
the library a resource on the XPage. With focus outside all controls,
click on the Resources tab under Properties.
Then use the Add button to make the library
available as a resource.
Use the Resources tab to add client libraries
to an XPage. The import
statement is not available
in client JavaScript™.