XSPUserAgent Methods Do Not Detect IE 11
I’ve found that the methods of the XSPUserAgent class, which are commonly used for browser detection in XPages applications, do not properly detect IE 11. In this post, I’ll show what happens and how...
View ArticleDojo Data Grid – Part 33: Reading Data from a Custom REST Service
Setting the data source of a grid is generally very straightforward when using one of the provided view or Json rest services, but it doesn’t work the same way for a custom REST service. In this post,...
View ArticleConditionally Render a Passthru tag within the body of an XPage.
I recently had a need to conditionally include a new client-side javascript library on an XPage after another library was loaded. The other library was loaded within the body of the page and not within...
View ArticleDojo Data Grid – Part 34: Customizing Cell Styles Based on Data
In a previous post, I showed how to set the row color based on data in the row. In this post, I’ll show how style a cell individually based on the data that it contains. Dojo Data Grid Series Dojo...
View ArticleCreating an Application Layout with CSS/HTML Provided by a Designer
I recently started working on an XPages application for which the UI had already been designed by a visual designer. In this post, I’ll cover the steps I took to implement the provided design within...
View ArticleDojo Data Grid – Part 35: Suppressing Blank Rows Due to Readers Fields
Over the last few months, I’ve received several messages and read several posts trying to figure out how to suppress blank rows in a grid due to Readers field security on the documents in the...
View ArticleChanging the Output Tag on a Computed Field in XPages
By default, a computed field writes out a <span> tag to the page around the contents of the field, but you can use the tagName property to change that. For example, this computed field…...
View ArticleDojo Data Grid – Part 36: Conditionally Preventing Cell Editing
With the editable property of a grid column, it’s easy to enable editing or even conditionally compute whether the entire column should be editable. In this post, I’ll show how to take finer control...
View ArticleDojo in XPages – 1: Overview
Dojo is a client-side JavaScript library that is included on the Domino server and is automatically available within XPages application. As with any library, it contains many features that save you...
View ArticleArticle Published in The VIEW: Reusable and Consistent Message Displays in...
The second part of the series on reusable message displays in XPages has been published in The VIEW (subscription required). The separation of client-side logic and server-side logic in XPages (read:...
View ArticleDojo in XPages – 2: String Manipulation
In this post, we’ll take a look at dojo string manipulation utilities. The String utilities are included automatically in XPages — you don’t have to do anything extra in order to use them. You just...
View ArticleDojo in XPages – 3: Loading Dojo Modules
In the last post, I showed how to use some string utilities that are automatically loaded and available to any XPage. However, there are more Dojo modules with great functionality that are on the...
View ArticleDojo in XPages – 4: Performance Considerations when Choosing a Module Loading...
In the last post, I demonstrated different ways to load dojo modules in order to make them available to use on your XPage or Custom Control. A comment on that post from Richard Moy got me thinking...
View ArticleDojo in XPages – 5: Array Utilities
In this post, we’ll take a look at array manipulation functions that are available with dojo. The array module is not loaded automatically, but you can easily include it in order to make it available....
View ArticleDojo in XPages – 6: Selecting a DOM Element with dojo.byId()
dojo.byId() is a simple function to get a handle to a DOM element on your page, based on it’s ID. Once you have that handle, you can manipulate it as needed. In this post, we’ll take a look at why and...
View ArticleDojo in XPages – 7: Selecting DOM Elements with dojo.query
In the last post, I showed how to easily select an individual element on the page by its ID with dojo. In this post, we’ll look at dojo.query(), a far more powerful feature that lets you select and...
View ArticleDojo in XPages – 8: Processing Each Element in a NodeList with forEach()
In the last post, we looked at using dojo.query() to select elements on the page. In this post, I’ll show how to process each element in the NodeList returned from dojo.query(). NodeList Methods There...
View ArticleDojo in XPages – 9: Manipulating DOM Element Styles and Classes
We recently saw how to select DOM elements with dojo.query(). In this post, I’ll show how you can change class names and styles of the selected elements. Adding and Removing Classes If you have classes...
View ArticleDojo in XPages – 10: Creating and Moving DOM Elements with dojo.create and...
In the last post, we looked at changing the styles and classes of DOM elements dynamically with Dojo. In this post, I’ll show how you can move elements around on the page and insert new elements...
View ArticleDojo in XPages 11 – Using Loading Images to Improve Perceived Responsiveness
In the last post, I showed how to create and move DOM elements dynamically. In this post, we’ll look at a great use case for that functionality — using loading images to improved the perceived...
View Article