Usage of JavaScript API
Custom widgets can use Domino Leap's JavaScript API to help achieve their objectives.
The API can be accessed via the global NitroApplication
object or by the passed-in context
object. For example, the following is a widget that renders itself appropriately based on the form's currently selected page:
const myPageNavigator = {
...
instantiate: function (context, domNode) {
if (context.mode === 'run' || context.mode === 'preview') {
const currentPage = context.page;
context.form.getPageIds().forEach((pageId) => {
const page = context.form.getPage(pageId);
const btn = document.createElement('button');
btn.innerHTML = makeHTMLSafe(page.getTitle());
if (page === currentPage) {
btn.setAttribute('disabled', 'true');
} else {
btn.addEventListener('click', () => {
context.form.selectPage(pageId);
});
}
domNode.appendChild(btn);
});
} else {
...
}
return { ... };
}
}
Parent topic: Custom Widget API